mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
91 lines
1.6 KiB
C
91 lines
1.6 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROGRAMMER: Rex Jolliff (rex@lvcablemodem.com)
|
|
* PURPOSE: Platform independent 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;
|
|
}
|
|
|
|
|