]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Sync length check fix.
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Mon, 30 Apr 2007 18:21:52 +0000 (18:21 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Mon, 30 Apr 2007 18:21:52 +0000 (18:21 +0000)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@6491 7a7537e8-13f0-0310-91df-b6672ffda945

backend/usb-darwin.c

index 6eccecff953f471a46e13857ea2903c6350966ba..9bfb113e2a32bd0bc793019f045d3ac48a2adda0 100644 (file)
@@ -598,16 +598,6 @@ static Boolean list_device_callback(void *refcon, io_service_t obj)
       else
         strcpy(modelstr + 1, "Printer");
 
-     /*
-      * Fix common HP 1284 bug...
-      */
-
-      if (!strcasecmp(makestr, "Hewlett-Packard"))
-        strcpy(makestr, "HP");
-
-      if (!strncasecmp(modelstr + 1, "hp ", 3))
-        _cups_strcpy(modelstr + 1, modelstr + 4);
-
       optionsstr[0] = '\0';
       if (serial != NULL)
       {
@@ -622,6 +612,16 @@ static Boolean list_device_callback(void *refcon, io_service_t obj)
       httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
       strncat(uristr, optionsstr, sizeof(uristr));
 
+     /*
+      * Fix common HP 1284 bug...
+      */
+
+      if (!strcasecmp(makestr, "Hewlett-Packard"))
+        strcpy(makestr, "HP");
+
+      if (!strncasecmp(modelstr + 1, "hp ", 3))
+        _cups_strcpy(modelstr + 1, modelstr + 4);
+
       printf("direct %s \"%s %s\" \"%s %s USB\" \"%s\"\n", uristr, makestr,
              &modelstr[1], makestr, &modelstr[1], idstr);
 
@@ -654,7 +654,7 @@ static Boolean find_device_callback(void *refcon, io_service_t obj)
       copy_deviceinfo(idString, &make, &model, &serial);
       if (CFStringCompare(make, userData->make, kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
        if (CFStringCompare(model, userData->model, kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
-         if (userData->serial != NULL) {
+         if (userData->serial != NULL && CFStringGetLength(userData->serial) > 0 ) {
            if (serial != NULL && CFStringCompare(serial, userData->serial, kCFCompareCaseInsensitive) == kCFCompareEqualTo) {
              IOObjectRetain(obj);
              userData->printerObj = obj;