Blame SOURCES/cups-dnssd-deviceid.patch

87cf9a
diff -up cups-1.6b1/backend/dnssd.c.dnssd-deviceid cups-1.6b1/backend/dnssd.c
87cf9a
--- cups-1.6b1/backend/dnssd.c.dnssd-deviceid	2012-05-21 18:05:58.000000000 +0200
87cf9a
+++ cups-1.6b1/backend/dnssd.c	2012-05-25 16:27:49.226874427 +0200
87cf9a
@@ -1181,15 +1181,22 @@ query_callback(
87cf9a
   if (device->device_id)
87cf9a
     free(device->device_id);
87cf9a
 
87cf9a
+  if (device_id[0])
87cf9a
+  {
87cf9a
+    /* Mark this as the real device ID. */
87cf9a
+    ptr = device_id + strlen(device_id);
87cf9a
+    snprintf(ptr, sizeof(device_id) - (ptr - device_id), "FZY:0;");
87cf9a
+  }
87cf9a
+
87cf9a
   if (!device_id[0] && strcmp(model, "Unknown"))
87cf9a
   {
87cf9a
     if (make_and_model[0])
87cf9a
-      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;",
87cf9a
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
87cf9a
 	       make_and_model, model);
87cf9a
     else if (!_cups_strncasecmp(model, "designjet ", 10))
87cf9a
-      snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s", model + 10);
87cf9a
+      snprintf(device_id, sizeof(device_id), "MFG:HP;MDL:%s;FZY:1;", model + 10);
87cf9a
     else if (!_cups_strncasecmp(model, "stylus ", 7))
87cf9a
-      snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s", model + 7);
87cf9a
+      snprintf(device_id, sizeof(device_id), "MFG:EPSON;MDL:%s;FZY:1;", model + 7);
87cf9a
     else if ((ptr = strchr(model, ' ')) != NULL)
87cf9a
     {
87cf9a
      /*
87cf9a
@@ -1199,7 +1206,7 @@ query_callback(
87cf9a
       memcpy(make_and_model, model, ptr - model);
87cf9a
       make_and_model[ptr - model] = '\0';
87cf9a
 
87cf9a
-      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s",
87cf9a
+      snprintf(device_id, sizeof(device_id), "MFG:%s;MDL:%s;FZY:1;",
87cf9a
 	       make_and_model, ptr + 1);
87cf9a
     }
87cf9a
   }