Skip to content

Commit 4742784

Browse files
authored
Merge pull request skullernet#106 from skullernet/master
Strip quotes from ‘if’ command arguments.
2 parents 44dedd7 + 0f35df1 commit 4742784

File tree

3 files changed

+18
-2
lines changed

3 files changed

+18
-2
lines changed

inc/shared/shared.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ int SortStricmp(const void *p1, const void *p2);
594594

595595
size_t COM_strclr(char *s);
596596
char *COM_StripQuotes(char *s);
597+
char *COM_Trim(char *s);
597598

598599
// buffer safe operations
599600
size_t Q_strlcpy(char *dst, const char *src, size_t size);

src/common/cmd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -658,12 +658,12 @@ static void Cmd_If_f(void)
658658
if (matched) {
659659
// execute branch 1
660660
if (i > j) {
661-
Cbuf_InsertText(cmd_current, Cmd_RawArgsFrom(j));
661+
Cbuf_InsertText(cmd_current, COM_StripQuotes(COM_Trim(Cmd_RawArgsFrom(j))));
662662
}
663663
} else {
664664
// execute branch 2
665665
if (++i < Cmd_Argc()) {
666-
Cbuf_InsertText(cmd_current, Cmd_RawArgsFrom(i));
666+
Cbuf_InsertText(cmd_current, COM_StripQuotes(Cmd_RawArgsFrom(i)));
667667
}
668668
}
669669
}

src/shared/shared.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,21 @@ char *COM_StripQuotes(char *s)
348348
return s;
349349
}
350350

351+
char *COM_Trim(char *s)
352+
{
353+
size_t len;
354+
355+
while (*s && *s <= ' ')
356+
s++;
357+
358+
len = strlen(s);
359+
while (len > 0 && s[len - 1] <= ' ')
360+
len--;
361+
362+
s[len] = 0;
363+
return s;
364+
}
365+
351366
/*
352367
============
353368
va

0 commit comments

Comments
 (0)