diff src/device-msw.c @ 5468:a9094f28f9a9

Merge with trunk.
author Mats Lidell <matsl@xemacs.org>
date Wed, 19 Jan 2011 22:35:23 +0100
parents 308d34e9f07d 8608eadee6ba
children 56144c8593a8
line wrap: on
line diff
--- a/src/device-msw.c	Fri Jan 14 23:32:08 2011 +0100
+++ b/src/device-msw.c	Wed Jan 19 22:35:23 2011 +0100
@@ -1327,9 +1327,12 @@
 
   GCPRO2 (result, def_printer);
 
+  def_printer = msprinter_default_printer ();
+
   while (num_printers--)
     {
       Extbyte *printer_name;
+      Lisp_Object printer_name_lisp;
       if (have_nt)
 	{
 	  PRINTER_INFO_4 *info = (PRINTER_INFO_4 *) data_buf;
@@ -1341,12 +1344,15 @@
 	  printer_name = (Extbyte *) info->pPrinterName;
 	}
       data_buf += enum_entry_size;
-
-      result = Fcons (build_tstr_string (printer_name), result);
+      
+      printer_name_lisp = build_tstr_string (printer_name);
+      if (0 != qxestrcasecmp (XSTRING_DATA (def_printer),
+			      XSTRING_DATA (printer_name_lisp)))
+	{
+	  result = Fcons (printer_name_lisp, result);
+	}
     }
 
-  def_printer = msprinter_default_printer ();
-  result = Fdelete (def_printer, result);
   result = Fcons (def_printer, result);
 
   RETURN_UNGCPRO (result);