svn commit: samba r6490 - in branches/SAMBA_3_0/source/printing: .

jerry at samba.org jerry at samba.org
Tue Apr 26 14:14:16 GMT 2005


Author: jerry
Date: 2005-04-26 14:14:16 +0000 (Tue, 26 Apr 2005)
New Revision: 6490

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

Log:
BUG 1998: patch from Olaf Imig <Olaf.Imig at bifab.de>; fix byte ordering bug when storing 16-bit RAP print job ids
Modified:
   branches/SAMBA_3_0/source/printing/printing.c


Changeset:
Modified: branches/SAMBA_3_0/source/printing/printing.c
===================================================================
--- branches/SAMBA_3_0/source/printing/printing.c	2005-04-26 12:26:52 UTC (rev 6489)
+++ branches/SAMBA_3_0/source/printing/printing.c	2005-04-26 14:14:16 UTC (rev 6490)
@@ -67,6 +67,7 @@
 	uint16 rap_jobid;
 	TDB_DATA data, key;
 	struct rap_jobid_key jinfo;
+	uint8 buf[2];
 
 	DEBUG(10,("pjobid_to_rap: called.\n"));
 
@@ -96,7 +97,8 @@
 	rap_jobid = ++next_rap_jobid;
 	if (rap_jobid == 0)
 		rap_jobid = ++next_rap_jobid;
-	data.dptr = (char *)&rap_jobid;
+	SSVAL(buf,0,rap_jobid);
+	data.dptr = buf;
 	data.dsize = sizeof(rap_jobid);
 	tdb_store(rap_tdb, key, data, TDB_REPLACE);
 	tdb_store(rap_tdb, data, key, TDB_REPLACE);
@@ -109,13 +111,15 @@
 BOOL rap_to_pjobid(uint16 rap_jobid, fstring sharename, uint32 *pjobid)
 {
 	TDB_DATA data, key;
+	uint8 buf[2];
 
 	DEBUG(10,("rap_to_pjobid called.\n"));
 
 	if (!rap_tdb)
 		return False;
 
-	key.dptr = (char *)&rap_jobid;
+	SSVAL(buf,0,rap_jobid);
+	key.dptr = buf;
 	key.dsize = sizeof(rap_jobid);
 	data = tdb_fetch(rap_tdb, key);
 	if ( data.dptr && data.dsize == sizeof(struct rap_jobid_key) ) 
@@ -140,6 +144,7 @@
 	TDB_DATA key, data;
 	uint16 rap_jobid;
 	struct rap_jobid_key jinfo;
+	uint8 buf[2];
 
 	DEBUG(10,("rap_jobid_delete: called.\n"));
 
@@ -165,7 +170,8 @@
 
 	rap_jobid = SVAL(data.dptr, 0);
 	SAFE_FREE(data.dptr);
-	data.dptr = (char *)&rap_jobid;
+	SSVAL(buf,0,rap_jobid);
+	data.dptr=buf;
 	data.dsize = sizeof(rap_jobid);
 	tdb_delete(rap_tdb, key);
 	tdb_delete(rap_tdb, data);



More information about the samba-cvs mailing list