Fixed broken arguments, added testing for arguments
This commit is contained in:
+37
-2
@@ -18,11 +18,42 @@ void Fuse(int argc, char* argv[])
|
||||
FuseGivenTest(&fuseArgs, argv[0]);
|
||||
}
|
||||
|
||||
// New method for getting arguments
|
||||
void FuseGetArgs(int argc, char* argv[], fuseArgStruct* fuseArgs)
|
||||
{
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
if (argv[i][0] == '-' && argv[i][1] == 'l')
|
||||
fuseArgs->list = 1;
|
||||
if (argv[i][0] == '-' && argv[i][1] == 'a')
|
||||
{
|
||||
fuseArgs->add = 1;
|
||||
fuseArgs->toAdd = strdup(argv[i+1]);
|
||||
}
|
||||
if (argv[i][0] == '-' && argv[i][1] == 'r')
|
||||
{
|
||||
fuseArgs->remove = 1;
|
||||
fuseArgs->toRemove = strdup(argv[i+1]);
|
||||
}
|
||||
if (argv[i][0] == '-' && argv[i][1] == 'e')
|
||||
{
|
||||
fuseArgs->extract = 1;
|
||||
fuseArgs->toExtract = strdup(argv[i+1]);
|
||||
}
|
||||
if (argv[i][0] == '-' && argv[i][1] == 'f')
|
||||
{
|
||||
fuseArgs->filefsname = 1;
|
||||
fuseArgs->fsname = strdup(argv[i+1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Originally given method for getting arguments
|
||||
// Depreciated
|
||||
void FuseCheckArgs(int argc, char* argv[], fuseArgStruct* fuseArgs)
|
||||
{
|
||||
int opt;
|
||||
while ((opt = getopt(argc, argv, "la:r:e:")) != -1)
|
||||
while ((opt = getopt(argc, argv, "la:r:e:f:")) != -1)
|
||||
{
|
||||
switch (opt)
|
||||
{
|
||||
@@ -41,6 +72,10 @@ void FuseCheckArgs(int argc, char* argv[], fuseArgStruct* fuseArgs)
|
||||
fuseArgs->extract = 1;
|
||||
fuseArgs->toExtract = strdup(optarg);
|
||||
break;
|
||||
case 'f':
|
||||
fuseArgs->filefsname = 1;
|
||||
fuseArgs->fsname = strdup(optarg);
|
||||
break;
|
||||
default:
|
||||
FuseUsageError(argv[0]);
|
||||
}
|
||||
@@ -121,4 +156,4 @@ int zerosize(int fd)
|
||||
if(stats.st_size == 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user