ftp.nice.ch/pub/next/text/apps/eText5.0.93.s.tar.gz#/eText5/Kludges.subproj/removeFile.c

This is removeFile.c in view mode; [Download] [Up]

{\rtf0\ansi{\fonttbl\f0\fmodern Courier;\f1\ftech Symbol;}
\paperw11640
\paperh8400
\margl120
\margr120
\pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b0\i0\ulnone\fs24\fc0\cf0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//
\i 	
\b FILENAME
\b0 :	
\b\i0 removeFile.c\

\b0 //
\i 	
\b SUMMARY
\b0 :	
\b\i0 Garbage Collection.
\b0 \
//	
\b\i AUTHOR
\b0 :		
\b\i0 Rohit Khare
\b0 \
//	
\b\i COPYRIGHT
\b0 :	
\f1\i0 Ó
\f0\b 1993,94 California Institure of Technology, eText Project\

\b0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b\i Description
\b0\i0 \
//		This is supposed to be equivalent to 
\i rm -rf %s
\i0 , but I'm having trouble.\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b\i HISTORY
\b0\i0 \
//	10/06/94:	
\b Extracted from eTDoc in eText5.
\i \

\b0\i0 //ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Imported Interfaces
\b0 \
//\
	#import "
\b eTextKernel.h
\b0 "\
	\
//ÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐÐ\
//	
\b Garbage Collection (C code)
\b0 \
//\
int 
\b removeFile
\b0 (const char *
\b file
\b0 )\
\{\
    struct 
\b stat
\b0  
\b st
\b0 ;\
\
 	
\b NXLogError
\b0 ("
\b Garbage Collecting
\b0  %s\\n", 
\b file
\b0 );\
    if (!stat(file, &st)) \{\
	if ((st.
\b st_mode
\b0  & S_IFMT) == 
\b S_IFDIR
\b0 ) \{\

\i 		// Well-intentioned yet ineffective code.\
		//	DIR *dirp;\
		//	struct direct *dp;\
		//	char *leaf = NULL;\
		//	char path[MAXPATHLEN];\
	    //dirp = opendir(file);\
	    //for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) \{\
		//if (strcmp(dp->d_name, ".") && strcmp(dp->d_name, "..")) \{\
		//  if (!leaf) \{\
		//	strcpy(path, file);\
		//	strcat(path, "/");\
		//	leaf = path + strlen(path);\
		//  \}\
		//  strcpy(leaf, dp->d_name);\
		//  if (unlink(path)) \{\
		//	closedir(dirp);\
		//	return -1;\
		//  \}\
		//\}\
	    //\}\
	    //return rmdir(file);\

\i0 		char 
\b cmd
\b0 [MAXPATHLEN];\
		\
		
\b sprintf
\b0 (
\b cmd
\b0 , "
\b rm -rf \\"%s\\"
\b0 ", 
\b file
\b0 );\
		return 
\b system
\b0 (
\b cmd
\b0 );\
	\} else \{\
	    return 
\b unlink
\b0 (
\b file
\b0 );\
	\}\
    \}\
\
    return -1;\
\}\

}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.