summaryrefslogtreecommitdiff
path: root/scheduler/cups-deviced.c
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2007-10-17 20:05:25 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2007-10-17 20:05:25 +0000
commit2e4ff8afcbae91304495e2c90b4965420422e363 (patch)
treec0233dc32abb6409b70bc21ed934e71b7982347f /scheduler/cups-deviced.c
parent56ab62c60cfb18c20468bbec182c52e7dc184195 (diff)
downloadcups-2e4ff8afcbae91304495e2c90b4965420422e363.tar.gz
Import CUPS 1.4svn r7023 into easysw/current.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@502 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'scheduler/cups-deviced.c')
-rw-r--r--scheduler/cups-deviced.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/scheduler/cups-deviced.c b/scheduler/cups-deviced.c
index 9a92732b5..3cacab3ab 100644
--- a/scheduler/cups-deviced.c
+++ b/scheduler/cups-deviced.c
@@ -1,5 +1,5 @@
/*
- * "$Id: cups-deviced.c 6693 2007-07-19 21:02:36Z mike $"
+ * "$Id: cups-deviced.c 7011 2007-10-10 21:13:35Z mike $"
*
* Device scanning mini-daemon for the Common UNIX Printing System (CUPS).
*
@@ -409,7 +409,8 @@ add_dev(
const char *device_uri, /* I - Device URI */
const char *device_id) /* I - 1284 device ID */
{
- dev_info_t *dev; /* New device */
+ dev_info_t *dev, /* New device */
+ *temp; /* Found device */
/*
@@ -438,8 +439,18 @@ add_dev(
* Add the device to the array and return...
*/
- cupsArrayAdd(devs, dev);
+ if ((temp = cupsArrayFind(devs, dev)) != NULL)
+ {
+ /*
+ * Avoid duplicates!
+ */
+ free(dev);
+ dev = temp;
+ }
+ else
+ cupsArrayAdd(devs, dev);
+
return (dev);
}
@@ -548,5 +559,5 @@ sigalrm_handler(int sig) /* I - Signal number */
/*
- * End of "$Id: cups-deviced.c 6693 2007-07-19 21:02:36Z mike $".
+ * End of "$Id: cups-deviced.c 7011 2007-10-10 21:13:35Z mike $".
*/