mirror of
https://github.com/cesanta/mongoose.git
synced 2025-06-18 08:36:39 +08:00
Trimming whitespaces properly in windows CGI interpreter name
This commit is contained in:
parent
b437d56736
commit
2aaedef4af
12
mongoose.c
12
mongoose.c
@ -1243,6 +1243,13 @@ static int kill(pid_t pid, int sig_num) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void trim_trailing_whitespaces(char *s) {
|
||||||
|
char *e = s + strlen(s) - 1;
|
||||||
|
while (e > s && isspace(* (unsigned char *) e)) {
|
||||||
|
*e-- = '\0';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static pid_t spawn_process(struct mg_connection *conn, const char *prog,
|
static pid_t spawn_process(struct mg_connection *conn, const char *prog,
|
||||||
char *envblk, char *envp[], int fd_stdin,
|
char *envblk, char *envp[], int fd_stdin,
|
||||||
int fd_stdout, const char *dir) {
|
int fd_stdout, const char *dir) {
|
||||||
@ -1279,10 +1286,7 @@ static pid_t spawn_process(struct mg_connection *conn, const char *prog,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (buf[0] == '#' && buf[1] == '!') {
|
if (buf[0] == '#' && buf[1] == '!') {
|
||||||
// Trim whitespace in interpreter name
|
trim_trailing_whitespaces(buf + 2);
|
||||||
for (p = buf + 2; *p != '\0' && isspace(* (unsigned char *) p); )
|
|
||||||
p++;
|
|
||||||
*p = '\0';
|
|
||||||
} else {
|
} else {
|
||||||
buf[2] = '\0';
|
buf[2] = '\0';
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user