diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/printing/printing.c | 7 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 57d0c2b8a3..cfe194ab17 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -168,7 +168,9 @@ static int print_run_command(int snum,char *command, pstring_sub(syscmd, "%p", p); standard_sub_snum(snum,syscmd); - + + /* Convert script args to unix-codepage */ + dos_to_unix(syscmd, True); ret = smbrun(syscmd,outfile,False); DEBUG(3,("Running the command `%s' gave %d\n",syscmd,ret)); @@ -1202,8 +1204,7 @@ BOOL print_queue_purge(struct current_user *user, int snum, int *errcode) njobs = print_queue_status(snum, &queue, &status); for (i=0;i<njobs;i++) { - if (print_access_check(user, snum, - PRINTER_ACCESS_ADMINISTER)) { + if (print_access_check(user, snum, PRINTER_ACCESS_ADMINISTER)) { print_job_delete1(queue[i].job); } } diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index bcd9b46256..74cc19eee1 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -3546,6 +3546,9 @@ static BOOL add_printer_hook(NT_PRINTER_INFO_LEVEL *printer) printer->info_2->location, driverlocation); unlink(tmp_file); + + /* Convert script args to unix-codepage */ + dos_to_unix(command, True); DEBUG(10,("Running [%s > %s]\n", command,tmp_file)); ret = smbrun(command, tmp_file, False); DEBUGADD(10,("returned [%d]\n", ret)); @@ -3556,9 +3559,10 @@ static BOOL add_printer_hook(NT_PRINTER_INFO_LEVEL *printer) } numlines = 0; + /* Get lines and convert them back to dos-codepage */ qlines = file_lines_load(tmp_file, &numlines, True); DEBUGADD(10,("Lines returned = [%d]\n", numlines)); - DEBUGADD(10,("Unlinking port file [%s]\n", tmp_file)); + DEBUGADD(10,("Unlinking script output file [%s]\n", tmp_file)); unlink(tmp_file); if(numlines) { |