here goes setup diff. I only touched util.c so far.
[]'s
claudio.
ps.: I am not a zombie, we've got 4h of difference between us. :)
--
In order to be effective truth must penetrate like an arrow - and that
is likely to hurt. 'Posthumous Pieces' by Wei Wu Wei
diff -rN old-setup/src/util.c new-setup/src/util.c
128c128
< umount(target);
---
> umount2(target,MNT_FORCE);
254,293c254,258
< int errflag = 0;
< struct dirent *dp;
< DIR *dirp;
< char name[PATH_MAX];
<
< if(!unlink(path))
< return(0);
< else
< {
< if(errno == ENOENT)
< return(0);
< else if(errno == EPERM)
< {
< /* fallthrough */
< }
< else if(errno == EISDIR)
< {
< /* fallthrough */
< }
< else if(errno == ENOTDIR)
< return(1);
< else
< /* not a directory */
< return(1);
<
< if((dirp = opendir(path)) == (DIR *)-1)
< return(1);
< for(dp = readdir(dirp); dp != NULL; dp = readdir(dirp))
< if(dp->d_ino)
< {
< sprintf(name, "%s/%s", path, dp->d_name);
< if(strcmp(dp->d_name, "..") && strcmp(dp->d_name, "."))
< errflag += rmrf(name);
< }
< closedir(dirp);
< if(rmdir(path))
< errflag++;
< return(errflag);
< }
< return(0);
---
> char *ptr = g_strdup_printf("rm -rf %s", path);
> int ret = fw_system(ptr);
> free(ptr);
>
> return(ret);
325c290
< system(g_strdup_printf("umount %s >%s 2>%s", dev, LOGDEV, LOGDEV));
---
> return (umount2(dev,0));
330a296
> char *ptr;
332c298
< return(system(g_strdup_printf("%s >%s 2>%s", cmd, LOGDEV, LOGDEV)));
---
> ptr = g_strdup_printf("%s >%s 2>%s", cmd, LOGDEV, LOGDEV);
334,335c300
< return(system(g_strdup_printf("echo %s >%s 2>%s", cmd, LOGDEV,
< LOGDEV)));
---
> ptr = g_strdup_printf("echo %s >%s 2>%s", cmd, LOGDEV, LOGDEV);
336a302,304
> int ret = system(ptr);
> free(ptr);
> return (ret);
_______________________________________________
Frugalware-devel mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-devel