]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Fix lpoptions regression (Issue #370)
authorMichael R Sweet <michael.r.sweet@gmail.com>
Mon, 2 May 2022 18:57:42 +0000 (14:57 -0400)
committerMichael R Sweet <michael.r.sweet@gmail.com>
Mon, 2 May 2022 18:57:42 +0000 (14:57 -0400)
CHANGES.md
cups/dest.c

index 6b88adb82bc0a466fdcd51f624204ff696d83bb2..0449417bd9068499f6c09560ea0a368e063e9f2d 100644 (file)
@@ -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
index 56e7423153da0fd82efc48dc48f2f993b2a0c002..f563ce22606e38ad9bb1e2d900777d4f5b2a28cb 100644 (file)
@@ -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;