Handles quoted arguments a little bit better (needs some overhauling to do it right, though).

This commit is contained in:
Ryan C. Gordon 2002-04-04 17:55:13 +00:00
parent d317ba274f
commit 6e2393d90a
1 changed files with 13 additions and 2 deletions

View File

@ -102,10 +102,18 @@ static int cmd_deinit(char *args)
static int cmd_addarchive(char *args)
{
char *ptr = strchr(args, ' ');
char *ptr = strrchr(args, ' ');
int appending = atoi(ptr + 1);
*ptr = '\0';
if (*args == '\"')
{
args++;
*(ptr - 1) = '\0';
}
/*printf("[%s], [%d]\n", args, appending);*/
if (PHYSFS_addToSearchPath(args, appending))
printf("Successful.\n");
else
@ -369,12 +377,15 @@ static int cmd_cat(char *args)
static int count_args(const char *str)
{
int retval = 0;
int in_quotes = 0;
if (str != NULL)
{
for (; *str != '\0'; str++)
{
if (*str == ' ')
if (*str == '\"')
in_quotes = !in_quotes;
else if ((*str == ' ') && (!in_quotes))
retval++;
} /* for */
retval++;