Handles quoted arguments a little bit better (needs some overhauling to do it right, though).
This commit is contained in:
parent
d317ba274f
commit
6e2393d90a
|
@ -102,10 +102,18 @@ static int cmd_deinit(char *args)
|
||||||
|
|
||||||
static int cmd_addarchive(char *args)
|
static int cmd_addarchive(char *args)
|
||||||
{
|
{
|
||||||
char *ptr = strchr(args, ' ');
|
char *ptr = strrchr(args, ' ');
|
||||||
int appending = atoi(ptr + 1);
|
int appending = atoi(ptr + 1);
|
||||||
*ptr = '\0';
|
*ptr = '\0';
|
||||||
|
|
||||||
|
if (*args == '\"')
|
||||||
|
{
|
||||||
|
args++;
|
||||||
|
*(ptr - 1) = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
/*printf("[%s], [%d]\n", args, appending);*/
|
||||||
|
|
||||||
if (PHYSFS_addToSearchPath(args, appending))
|
if (PHYSFS_addToSearchPath(args, appending))
|
||||||
printf("Successful.\n");
|
printf("Successful.\n");
|
||||||
else
|
else
|
||||||
|
@ -369,12 +377,15 @@ static int cmd_cat(char *args)
|
||||||
static int count_args(const char *str)
|
static int count_args(const char *str)
|
||||||
{
|
{
|
||||||
int retval = 0;
|
int retval = 0;
|
||||||
|
int in_quotes = 0;
|
||||||
|
|
||||||
if (str != NULL)
|
if (str != NULL)
|
||||||
{
|
{
|
||||||
for (; *str != '\0'; str++)
|
for (; *str != '\0'; str++)
|
||||||
{
|
{
|
||||||
if (*str == ' ')
|
if (*str == '\"')
|
||||||
|
in_quotes = !in_quotes;
|
||||||
|
else if ((*str == ' ') && (!in_quotes))
|
||||||
retval++;
|
retval++;
|
||||||
} /* for */
|
} /* for */
|
||||||
retval++;
|
retval++;
|
||||||
|
|
Loading…
Reference in New Issue