mirror of
https://github.com/reactos/reactos.git
synced 2024-10-30 11:35:58 +00:00
92 lines
1.7 KiB
C
92 lines
1.7 KiB
C
|
/* $Id: rdel.c,v 1.1 2002/06/13 00:39:49 bpalmer Exp $
|
||
|
* COPYRIGHT: See COPYING in the top level directory
|
||
|
* PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
|
||
|
* PURPOSE: Platform independant delete command
|
||
|
*/
|
||
|
|
||
|
#include <dirent.h>
|
||
|
#include <errno.h>
|
||
|
#include <limits.h>
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
void
|
||
|
convertPath (char * pathToConvert)
|
||
|
{
|
||
|
while (*pathToConvert != 0)
|
||
|
{
|
||
|
if (*pathToConvert == '\\')
|
||
|
{
|
||
|
*pathToConvert = '/';
|
||
|
}
|
||
|
pathToConvert++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
getDirectory (const char *filename, char * directorySpec)
|
||
|
{
|
||
|
int lengthOfDirectory;
|
||
|
|
||
|
if (strrchr (filename, '/') != 0)
|
||
|
{
|
||
|
lengthOfDirectory = strrchr (filename, '/') - filename;
|
||
|
strncpy (directorySpec, filename, lengthOfDirectory);
|
||
|
directorySpec [lengthOfDirectory] = '\0';
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
strcpy (directorySpec, ".");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
getFilename (const char *filename, char * fileSpec)
|
||
|
{
|
||
|
if (strrchr (filename, '/') != 0)
|
||
|
{
|
||
|
strcpy (fileSpec, strrchr (filename, '/') + 1);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
strcpy (fileSpec, filename);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main (int argc, char* argv[])
|
||
|
{
|
||
|
int justPrint = 0;
|
||
|
int idx;
|
||
|
int returnCode;
|
||
|
|
||
|
for (idx = 1; idx < argc; idx++)
|
||
|
{
|
||
|
convertPath (argv [idx]);
|
||
|
|
||
|
if (justPrint)
|
||
|
{
|
||
|
printf ("delete %s\n", argv [idx]);
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
returnCode = remove (argv [idx]);
|
||
|
if (returnCode != 0 && errno != ENOENT)
|
||
|
{
|
||
|
/* Continue even if there is errors */
|
||
|
#if 0
|
||
|
printf ("Unlink of %s failed. Unlink returned %d.\n",
|
||
|
argv [idx],
|
||
|
returnCode);
|
||
|
return returnCode;
|
||
|
#endif
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
|