|  | @@ -2390,8 +2390,12 @@ static pid_t spawn_process(struct mg_connection *conn, const char *prog,
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  |      GetFullPathNameA(dir, sizeof(full_dir), full_dir, NULL);
 |  |      GetFullPathNameA(dir, sizeof(full_dir), full_dir, NULL);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    mg_snprintf(conn, cmdline, sizeof(cmdline), "%s%s\"%s\\%s\"",
 |  | 
 | 
											
												
													
														|  | -                interp, interp[0] == '\0' ? "" : " ", full_dir, prog);
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if (interp[0] != '\0')
 | 
											
												
													
														|  | 
 |  | +        mg_snprintf(conn, cmdline, sizeof(cmdline), "\"%s\" \"%s\\%s\"",
 | 
											
												
													
														|  | 
 |  | +            interp, full_dir, prog);
 | 
											
												
													
														|  | 
 |  | +    else
 | 
											
												
													
														|  | 
 |  | +        mg_snprintf(conn, cmdline, sizeof(cmdline), "\"%s\\%s\"",
 | 
											
												
													
														|  | 
 |  | +            full_dir, prog);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      DEBUG_TRACE("Running [%s]", cmdline);
 |  |      DEBUG_TRACE("Running [%s]", cmdline);
 | 
											
												
													
														|  |      if (CreateProcessA(NULL, cmdline, NULL, NULL, TRUE,
 |  |      if (CreateProcessA(NULL, cmdline, NULL, NULL, TRUE,
 |