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

Reply via email to