43 lines
1.8 KiB
Diff
43 lines
1.8 KiB
Diff
diff -up cups-filters-1.13.4/utils/cups-browsed.c.apremotequeueid cups-filters-1.13.4/utils/cups-browsed.c
|
|
--- cups-filters-1.13.4/utils/cups-browsed.c.apremotequeueid 2017-02-24 12:14:22.099865138 +0100
|
|
+++ cups-filters-1.13.4/utils/cups-browsed.c 2017-02-24 12:18:44.039943820 +0100
|
|
@@ -1,4 +1,4 @@
|
|
-/***
|
|
+ /***
|
|
This file is part of cups-filters.
|
|
|
|
This file is free software; you can redistribute it and/or modify it
|
|
@@ -3491,7 +3491,8 @@ gboolean handle_cups_queues(gpointer unu
|
|
cups_job_t *jobs;
|
|
ipp_t *request;
|
|
time_t current_time = time(NULL);
|
|
- int i, new_cupsfilter_line_inserted, cont_line_read, want_raw;
|
|
+ int i, new_cupsfilter_line_inserted, ap_remote_queue_id_line_inserted,
|
|
+ cont_line_read, want_raw;
|
|
char *disabled_str, *ptr, *prefix;
|
|
const char *loadedppd = NULL;
|
|
int pass_through_ppd;
|
|
@@ -3813,6 +3814,7 @@ gboolean handle_cups_queues(gpointer unu
|
|
" and inhibiting client-side filtering of the job" : ""),
|
|
buf);
|
|
new_cupsfilter_line_inserted = 0;
|
|
+ ap_remote_queue_id_line_inserted = 0;
|
|
cont_line_read = 0;
|
|
while (cupsFileGets(in, line, sizeof(line))) {
|
|
if (pass_through_ppd == 1 &&
|
|
@@ -3896,6 +3898,14 @@ gboolean handle_cups_queues(gpointer unu
|
|
cupsFilePrintf(out, "%s\n", line);
|
|
} else if (cont_line_read == 0 || strncmp(line, "*End", 4)) {
|
|
cont_line_read = 0;
|
|
+ /* Write an "APRemoteQueueID" line to make this queue marked
|
|
+ as remote printer by CUPS */
|
|
+ if (strncmp(line, "*%", 2) &&
|
|
+ strncmp(line, "*PPD-Adobe:", 11) &&
|
|
+ ap_remote_queue_id_line_inserted == 0) {
|
|
+ ap_remote_queue_id_line_inserted = 1;
|
|
+ cupsFilePrintf(out, "*APRemoteQueueID: \"\"\n");
|
|
+ }
|
|
/* Simply write out the line as we read it */
|
|
cupsFilePrintf(out, "%s\n", line);
|
|
}
|