diff --git a/CHANGES.md b/CHANGES.md index 5d3c7eae0..305c71d7a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -126,6 +126,8 @@ Changes in CUPS v2.5b1 (YYYY-MM-DD) - Fixed error handling when reading a mixed `1setOf` attribute. - Fixed how `ippeveprinter` responds to an unsupported request character set. - Fixed a recursion issue in `ippReadIO`. +- Fixed verbose listing of `lpstat -l -e` when permanent queue has the same name + as network discovered. - Removed hash support for SHA2-512-224 and SHA2-512-256. - Removed `mantohtml` script for generating html pages (use `https://www.msweet.org/mantohtml/`) diff --git a/cups/dest.c b/cups/dest.c index f0067100a..e4bb85b06 100644 --- a/cups/dest.c +++ b/cups/dest.c @@ -3521,6 +3521,10 @@ cups_get_cb(_cups_getdata_t *data, // I - Data from cupsGetDests unsigned flags, // I - Enumeration flags cups_dest_t *dest) // I - Destination { + int diff = 1, // Result of comparison + match; // Matching index + + if (flags & CUPS_DEST_FLAGS_REMOVED) { /* @@ -3532,10 +3536,14 @@ cups_get_cb(_cups_getdata_t *data, // I - Data from cupsGetDests else { /* - * Add destination to array... + * Add destination to array if not present already... */ - data->num_dests = cupsCopyDest(dest, data->num_dests, &data->dests); + if (data->num_dests) + match = cups_find_dest(dest->name, dest->instance, data->num_dests, data->dests, -1, &diff); + + if (diff) + data->num_dests = cupsCopyDest(dest, data->num_dests, &data->dests); } return (1);