From: Michael R Sweet Date: Mon, 2 May 2022 18:57:42 +0000 (-0400) Subject: Fix lpoptions regression (Issue #370) X-Git-Tag: v2.4.2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d2f8d473eb5247ed807e2378cd1fb0e7327b9930;p=thirdparty%2Fcups.git Fix lpoptions regression (Issue #370) --- diff --git a/CHANGES.md b/CHANGES.md index 6b88adb82b..0449417bd9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,7 @@ Changes in CUPS v2.4.2 (TBA) IPP Everywhere queue (Issues #340, #343) - Re-added LibreSSL/OpenSSL support (Issue #362) - Updated the Solaris smf service file (Issue #368) +- Fixed a regression in lpoptions option support (Issue #370) - The scheduler now regenerates the PPD cache information after changing the "cupsd.conf" file (Issue #371) - Updated the scheduler to set "auth-info-required" to "username,password" if a diff --git a/cups/dest.c b/cups/dest.c index 56e7423153..f563ce2260 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -3564,7 +3564,10 @@ cups_enum_dests( } for (k = dest->num_options, option = dest->options; k > 0; k --, option ++) - user_dest->num_options = cupsAddOption(option->name, option->value, user_dest->num_options, &user_dest->options); + { + if (!cupsGetOption(option->name, user_dest->num_options, user_dest->options)) + user_dest->num_options = cupsAddOption(option->name, option->value, user_dest->num_options, &user_dest->options); + } if (!(*cb)(user_data, i > 1 ? CUPS_DEST_FLAGS_MORE : CUPS_DEST_FLAGS_NONE, user_dest)) break; @@ -3855,7 +3858,10 @@ cups_enum_dests( } for (k = dest->num_options, option = dest->options; k > 0; k --, option ++) - user_dest->num_options = cupsAddOption(option->name, option->value, user_dest->num_options, &user_dest->options); + { + if (!cupsGetOption(option->name, user_dest->num_options, user_dest->options)) + user_dest->num_options = cupsAddOption(option->name, option->value, user_dest->num_options, &user_dest->options); + } if (!(*cb)(user_data, CUPS_DEST_FLAGS_NONE, user_dest)) break;