Sophie

Sophie

distrib > Mageia > 2 > i586 > by-pkgid > d575888294f32ec9c88ae748227fe6cd > files > 32

hplip-3.12.4-1.2.mga2.src.rpm

diff -up hplip-3.11.10/scan/sane/hpaio.c~ hplip-3.11.10/scan/sane/hpaio.c
--- hplip-3.11.10/scan/sane/hpaio.c~	2011-10-02 04:04:48.000000000 +0100
+++ hplip-3.11.10/scan/sane/hpaio.c	2011-10-20 16:00:38.016534755 +0100
@@ -272,25 +272,28 @@ static int DevDiscovery(int localOnly)
       }
    }
 
-   /* Ignore localOnly flag (used by saned) and always look for network all-in-one scan devices (defined by cups). */
-   cnt = GetCupsPrinters(&cups_printer);
-   for (i=0; i<cnt; i++)
+   /* Check localOnly flag (used by saned) to decide whether to look for network all-in-one scan devices (defined by cups). */
+   if (!localOnly)
    {
-      hpmud_query_model(cups_printer[i], &ma);
-      if (ma.scantype > 0)
-      {
+     cnt = GetCupsPrinters(&cups_printer);
+     for (i=0; i<cnt; i++)
+     {
+       hpmud_query_model(cups_printer[i], &ma);
+       if (ma.scantype > 0)
+       {
          hpmud_get_uri_model(cups_printer[i], model, sizeof(model));
          AddDeviceList(cups_printer[i], model, &DeviceList);
          total++;
-      }
-      else
-      {
+       }
+       else
+       {
          DBG(6,"unsupported scantype=%d %s\n", ma.scantype, cups_printer[i]);
-      }
-      free(cups_printer[i]);
+       }
+       free(cups_printer[i]);
+     }
+     if (cups_printer)
+       free(cups_printer);
    }
-   if (cups_printer)
-      free(cups_printer);
 
 bugout:
    return total;