--- samba-2.2.2.cvs20020201/source/param/loadparm.c.orig	Fri Feb  1 17:03:50 2002
+++ samba-2.2.2.cvs20020201/source/param/loadparm.c	Fri Feb  1 18:45:41 2002
@@ -1085,26 +1085,26 @@
 		case PRINT_AIX:
 		case PRINT_LPRNT:
 		case PRINT_LPROS2:
-			string_set(&sDefault.szLpqcommand, "lpq -P%p");
-			string_set(&sDefault.szLprmcommand, "lprm -P%p %j");
+			string_set(&sDefault.szLpqcommand, "lpq -P'%p'");
+			string_set(&sDefault.szLprmcommand, "lprm -P'%p' %j");
 			string_set(&sDefault.szPrintcommand,
-				   "lpr -r -P%p %s");
+				   "lpr -r -P'%p' %s");
 			break;
 
 		case PRINT_LPRNG:
 		case PRINT_PLP:
-			string_set(&sDefault.szLpqcommand, "lpq -P%p");
-			string_set(&sDefault.szLprmcommand, "lprm -P%p %j");
+			string_set(&sDefault.szLpqcommand, "lpq -P'%p'");
+			string_set(&sDefault.szLprmcommand, "lprm -P'%p' %j");
 			string_set(&sDefault.szPrintcommand,
-				   "lpr -r -P%p %s");
+				   "lpr -r -P'%p' %s");
 			string_set(&sDefault.szQueuepausecommand,
-				   "lpc stop %p");
+				   "lpc stop '%p'");
 			string_set(&sDefault.szQueueresumecommand,
-				   "lpc start %p");
+				   "lpc start '%p'");
 			string_set(&sDefault.szLppausecommand,
-				   "lpc hold %p %j");
+				   "lpc hold '%p' %j");
 			string_set(&sDefault.szLpresumecommand,
-				   "lpc release %p %j");
+				   "lpc release '%p' %j");
 			break;
 
 		case PRINT_CUPS:
@@ -1120,19 +1120,19 @@
 			string_set(&Globals.szPrintcapname, "cups");
 #else
 			string_set(&sDefault.szLpqcommand,
-			           "/usr/bin/lpstat -o %p");
+			           "/usr/bin/lpstat -o '%p'");
 			string_set(&sDefault.szLprmcommand,
-			           "/usr/bin/cancel %p-%j");
+			           "/usr/bin/cancel '%p-%j'");
 			string_set(&sDefault.szPrintcommand,
-			           "/usr/bin/lp -d %p %s; rm %s");
+			           "/usr/bin/lp -d '%p' %s; rm %s");
 			string_set(&sDefault.szLppausecommand,
-				   "lp -i %p-%j -H hold");
+				   "lp -i '%p-%j' -H hold");
 			string_set(&sDefault.szLpresumecommand,
-				   "lp -i %p-%j -H resume");
+				   "lp -i '%p-%j' -H resume");
 			string_set(&sDefault.szQueuepausecommand,
-			           "/usr/bin/disable %p");
+			           "/usr/bin/disable '%p'");
 			string_set(&sDefault.szQueueresumecommand,
-			           "/usr/bin/enable %p");
+			           "/usr/bin/enable '%p'");
 			string_set(&Globals.szPrintcapname, "lpstat");
 #endif /* HAVE_CUPS */
 			break;
@@ -1437,7 +1437,10 @@
 	else
 		StrnCpy(ret, s, len);
 
-	trim_string(ret, "\"", "\"");
+	if (trim_string(ret, "\"", "\"")) {
+		if (strchr(ret,'"') != NULL)
+			StrnCpy(ret, s, len);
+	}
 
 	standard_sub_basic(ret);
 	return (ret);
