Use strchr?

This commit is contained in:
fickleheart 2019-04-13 10:16:54 -05:00
parent fe7220bb20
commit 3286d9ac93
1 changed files with 19 additions and 26 deletions

View File

@ -543,38 +543,31 @@ static void COM_ExecuteString(char *ptext)
char buf[1024];
char *write = buf, *read = a->value, *seek = read;
while (*seek != '\0')
while ((seek = strchr(seek, '$')) != NULL)
{
if (*seek == '$')
memcpy(write, read, seek-read);
write += seek-read;
seek++;
if (*seek >= '1' && *seek <= '9')
{
memcpy(write, read, seek-read);
write += seek-read;
if (com_argc > (size_t)(*seek - '0'))
{
memcpy(write, com_argv[*seek - '0'], strlen(com_argv[*seek - '0']));
write += strlen(com_argv[*seek - '0']);
}
seek++;
if (*seek >= '1' && *seek <= '9')
{
if (com_argc > (size_t)(*seek - '0'))
{
memcpy(write, com_argv[*seek - '0'], strlen(com_argv[*seek - '0']));
write += strlen(com_argv[*seek - '0']);
}
seek++;
}
else
{
*write = '$';
write++;
}
read = seek;
}
else
seek++;
{
*write = '$';
write++;
}
read = seek;
}
memcpy(write, read, seek-read);
write += seek-read;
*write = '\0';
WRITESTRING(write, read);
recursion++;
COM_BufInsertText(buf);