svn commit: samba r4083 - in branches/SAMBA_3_0/source: rpc_server smbd

jerry at samba.org jerry at samba.org
Mon Dec 6 19:25:26 GMT 2004


Author: jerry
Date: 2004-12-06 19:25:25 +0000 (Mon, 06 Dec 2004)
New Revision: 4083

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=4083

Log:
consolidate printer searches to use find_service rather than for loops
Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
   branches/SAMBA_3_0/source/smbd/lanman.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2004-12-06 17:48:51 UTC (rev 4082)
+++ branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c	2004-12-06 19:25:25 UTC (rev 4083)
@@ -512,24 +512,14 @@
 
 	/* Search all sharenames first as this is easier than pulling 
 	   the printer_info_2 off of disk */
-
-	for (snum=0; !found && snum<n_services; snum++) {
-
-		if ( !(lp_snum_ok(snum) && lp_print_ok(snum) ) )
-			continue;
-		
-		/* ------ sharename ------ */
-
-		fstrcpy(sname, lp_servicename(snum));
-
-		DEBUGADD(10, ("share: %s\n",sname));
-		
-		if ( strequal(sname, aprinter) ) {
-			found = True;
-		}
+	
+	snum = find_service(aprinter);
+	
+	if ( lp_snum_ok(snum) && lp_print_ok(snum) ) {
+		found = True;
+		fstrcpy( sname, aprinter );
 	}
 
-	
 	/* do another loop to look for printernames */
 	
 	for (snum=0; !found && snum<n_services; snum++) {

Modified: branches/SAMBA_3_0/source/smbd/lanman.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/lanman.c	2004-12-06 17:48:51 UTC (rev 4082)
+++ branches/SAMBA_3_0/source/smbd/lanman.c	2004-12-06 19:25:25 UTC (rev 4083)
@@ -760,18 +760,10 @@
 		return(True);
 	}
  
-	snum = lp_servicenumber(QueueName);
-	if (snum < 0 && pcap_printername_ok(QueueName,NULL)) {
-		int pnum = lp_servicenumber(PRINTERS_NAME);
-		if (pnum >= 0) {
-			lp_add_printer(QueueName,pnum);
-			snum = lp_servicenumber(QueueName);
-		}
-	}
-  
-	if (snum < 0 || !VALID_SNUM(snum))
-		return(False);
-
+	snum = find_service(QueueName);
+	if ( !(lp_snum_ok(snum) && lp_print_ok(snum)) )
+		return False;
+		
 	if (uLevel==52) {
 		count = get_printerdrivernumber(snum);
 		DEBUG(3,("api_DosPrintQGetInfo: Driver files count: %d\n",count));
@@ -3048,21 +3040,19 @@
   DEBUG(3,("WPrintJobEnumerate uLevel=%d name=%s\n",uLevel,name));
 
   /* check it's a supported variant */
-  if (strcmp(str1,"zWrLeh") != 0) return False;
-  if (uLevel > 2) return False;	/* defined only for uLevel 0,1,2 */
-  if (!check_printjob_info(&desc,uLevel,str2)) return False;
+  if (strcmp(str1,"zWrLeh") != 0) 
+    return False;
+    
+  if (uLevel > 2) 
+    return False;	/* defined only for uLevel 0,1,2 */
+    
+  if (!check_printjob_info(&desc,uLevel,str2)) 
+    return False;
 
-  snum = lp_servicenumber(name);
-  if (snum < 0 && pcap_printername_ok(name,NULL)) {
-    int pnum = lp_servicenumber(PRINTERS_NAME);
-    if (pnum >= 0) {
-      lp_add_printer(name,pnum);
-      snum = lp_servicenumber(name);
-    }
-  }
+  snum = find_service(name);
+  if ( !(lp_snum_ok(snum) && lp_print_ok(snum)) )
+    return False;
 
-  if (snum < 0 || !VALID_SNUM(snum)) return(False);
-
   count = print_queue_status(snum,&queue,&status);
   if (mdrcnt > 0) *rdata = REALLOC(*rdata,mdrcnt);
   desc.base = *rdata;
@@ -3164,16 +3154,8 @@
   if (strcmp(str1,"zWrLh") != 0) return False;
   if (!check_printdest_info(&desc,uLevel,str2)) return False;
 
-  snum = lp_servicenumber(PrinterName);
-  if (snum < 0 && pcap_printername_ok(PrinterName,NULL)) {
-    int pnum = lp_servicenumber(PRINTERS_NAME);
-    if (pnum >= 0) {
-      lp_add_printer(PrinterName,pnum);
-      snum = lp_servicenumber(PrinterName);
-    }
-  }
-
-  if (snum < 0) {
+  snum = find_service(PrinterName);
+  if ( !(lp_snum_ok(snum) && lp_print_ok(snum)) ) {
     *rdata_len = 0;
     desc.errcode = NERR_DestNotFound;
     desc.neededlen = 0;



More information about the samba-cvs mailing list