diff --git a/modules/arch/netware/mod_netware.c b/modules/arch/netware/mod_netware.c index 1440457745..56f105a109 100644 --- a/modules/arch/netware/mod_netware.c +++ b/modules/arch/netware/mod_netware.c @@ -98,6 +98,7 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv, { char *ext = NULL; char *cmd_only, *ptr; + const char *new_cmd; const char *detached = NULL; netware_dir_config *d; apr_file_t *fh; @@ -140,20 +141,16 @@ static apr_status_t ap_cgi_build_command(const char **cmd, const char ***argv, ++ext; /* check if we have a registered command for the extension*/ - *cmd = apr_table_get(d->file_type_handlers, ext); - if (*cmd == NULL) { + new_cmd = apr_table_get(d->file_type_handlers, ext); + if (new_cmd == NULL) { ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, "Could not find a command associated with the %s extension", ext); return APR_EBADF; } - if (!stricmp(*cmd, "OS")) { - /* If it is an NLM then restore *cmd and just execute it */ - *cmd = cmd_only; - } - else { + if (stricmp(new_cmd, "OS")) { /* If we have a registered command then add the file that was passed in as a parameter to the registered command. */ - *cmd = apr_pstrcat (p, *cmd, " ", cmd_only, NULL); + *cmd = apr_pstrcat (p, new_cmd, " ", cmd_only, NULL); /* Run in its own address space if specified */ detached = apr_table_get(d->file_handler_mode, ext);