[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2555-g346375c

Volker Lendecke vlendec at samba.org
Tue Jun 10 15:18:48 GMT 2008


The branch, v3-2-test has been updated
       via  346375cda557a675f8f882ca2ae8edffec725a72 (commit)
       via  6b0fed09ea34409d1c61bae9121bdb38d4c68d62 (commit)
      from  d4c3f03424655c54136f56599462b43b2c48beb7 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 346375cda557a675f8f882ca2ae8edffec725a72
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 10 16:14:30 2008 +0200

    Correctly find a [u]int32_t replacement

commit 6b0fed09ea34409d1c61bae9121bdb38d4c68d62
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Jun 10 14:15:01 2008 +0200

    Fix some scary FC9 warnings

-----------------------------------------------------------------------

Summary of changes:
 source/lib/replace/libreplace_cc.m4 |   21 +++++++---
 source/printing/lpq_parse.c         |   80 ++++++++++++++++++-----------------
 2 files changed, 56 insertions(+), 45 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/lib/replace/libreplace_cc.m4 b/source/lib/replace/libreplace_cc.m4
index 0ce0958..bed0558 100644
--- a/source/lib/replace/libreplace_cc.m4
+++ b/source/lib/replace/libreplace_cc.m4
@@ -109,25 +109,34 @@ AC_CHECK_HEADERS([standards.h])
 # Solaris needs HAVE_LONG_LONG defined
 AC_CHECK_TYPES(long long)
 
+AC_CHECK_SIZEOF(int)
+AC_CHECK_SIZEOF(char)
+AC_CHECK_SIZEOF(short)
+AC_CHECK_SIZEOF(long)
+AC_CHECK_SIZEOF(long long)
+
 AC_CHECK_TYPE(uint_t, unsigned int)
 AC_CHECK_TYPE(int8_t, char)
 AC_CHECK_TYPE(uint8_t, unsigned char)
 AC_CHECK_TYPE(int16_t, short)
 AC_CHECK_TYPE(uint16_t, unsigned short)
+
+if test $ac_cv_sizeof_int -eq 4 ; then
+AC_CHECK_TYPE(int32_t, int)
+AC_CHECK_TYPE(uint32_t, unsigned int)
+elif test $ac_cv_size_long -eq 4 ; then
 AC_CHECK_TYPE(int32_t, long)
 AC_CHECK_TYPE(uint32_t, unsigned long)
+else
+AC_MSG_ERROR([LIBREPLACE no 32-bit type found])
+fi
+
 AC_CHECK_TYPE(int64_t, long long)
 AC_CHECK_TYPE(uint64_t, unsigned long long)
 
 AC_CHECK_TYPE(size_t, unsigned int)
 AC_CHECK_TYPE(ssize_t, int)
 
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(char)
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(long long)
-
 AC_CHECK_SIZEOF(off_t)
 AC_CHECK_SIZEOF(size_t)
 AC_CHECK_SIZEOF(ssize_t)
diff --git a/source/printing/lpq_parse.c b/source/printing/lpq_parse.c
index afa3b48..addf2d1 100644
--- a/source/printing/lpq_parse.c
+++ b/source/printing/lpq_parse.c
@@ -858,51 +858,52 @@ static bool parse_lpq_nt(char *line,print_queue_struct *buf,bool first)
 		char terminator;
 	} nt_lpq_line;
 
-	nt_lpq_line parse_line;
+	char parse_line_char[sizeof(nt_lpq_line)];
+	nt_lpq_line *parse_line = (nt_lpq_line *)parse_line_char;
 #define LPRNT_PRINTING "Printing"
 #define LPRNT_WAITING "Waiting"
 #define LPRNT_PAUSED "Paused"
 
-	memset(&parse_line, '\0', sizeof(parse_line));
-	strncpy((char *) &parse_line, line, sizeof(parse_line) -1);
+	memset(parse_line_char, '\0', sizeof(parse_line_char));
+	strncpy(parse_line_char, line, sizeof(parse_line_char) -1);
 
-	if (strlen((char *) &parse_line) != sizeof(parse_line) - 1) {
+	if (strlen(parse_line_char) != sizeof(parse_line_char) - 1) {
 		return False;
 	}
 
 	/* Just want the first word in the owner field - the username */
-	if (strchr_m(parse_line.owner, ' ')) {
-		*(strchr_m(parse_line.owner, ' ')) = '\0';
+	if (strchr_m(parse_line->owner, ' ')) {
+		*(strchr_m(parse_line->owner, ' ')) = '\0';
 	} else {
-		parse_line.space1 = '\0';
+		parse_line->space1 = '\0';
 	}
 
 	/* Make sure we have an owner */
-	if (!strlen(parse_line.owner)) {
+	if (!strlen(parse_line->owner)) {
 		return False;
 	}
 
 	/* Make sure the status is valid */
-	parse_line.space2 = '\0';
-	trim_char(parse_line.status, '\0', ' ');
-	if (!strequal(parse_line.status, LPRNT_PRINTING) &&
-			!strequal(parse_line.status, LPRNT_PAUSED) &&
-			!strequal(parse_line.status, LPRNT_WAITING)) {
+	parse_line->space2 = '\0';
+	trim_char(parse_line->status, '\0', ' ');
+	if (!strequal(parse_line->status, LPRNT_PRINTING) &&
+			!strequal(parse_line->status, LPRNT_PAUSED) &&
+			!strequal(parse_line->status, LPRNT_WAITING)) {
 		return False;
 	}
   
-	parse_line.space3 = '\0';
-	trim_char(parse_line.jobname, '\0', ' ');
+	parse_line->space3 = '\0';
+	trim_char(parse_line->jobname, '\0', ' ');
 
-	buf->job = atoi(parse_line.jobid);
+	buf->job = atoi(parse_line->jobid);
 	buf->priority = 0;
-	buf->size = atoi(parse_line.size);
+	buf->size = atoi(parse_line->size);
 	buf->time = time(NULL);
-	fstrcpy(buf->fs_user, parse_line.owner);
-	fstrcpy(buf->fs_file, parse_line.jobname);
-	if (strequal(parse_line.status, LPRNT_PRINTING)) {
+	fstrcpy(buf->fs_user, parse_line->owner);
+	fstrcpy(buf->fs_file, parse_line->jobname);
+	if (strequal(parse_line->status, LPRNT_PRINTING)) {
 		buf->status = LPQ_PRINTING;
-	} else if (strequal(parse_line.status, LPRNT_PAUSED)) {
+	} else if (strequal(parse_line->status, LPRNT_PAUSED)) {
 		buf->status = LPQ_PAUSED;
 	} else {
 		buf->status = LPQ_QUEUED;
@@ -941,48 +942,49 @@ static bool parse_lpq_os2(char *line,print_queue_struct *buf,bool first)
 		char terminator;
 	} os2_lpq_line;
 
-	os2_lpq_line parse_line;
+	char parse_line_char[sizeof(os2_lpq_line)];
+	os2_lpq_line *parse_line = (os2_lpq_line *)parse_line_char;
 #define LPROS2_PRINTING "Printing"
 #define LPROS2_WAITING "Queued"
 #define LPROS2_PAUSED "Paused"
 
-	memset(&parse_line, '\0', sizeof(parse_line));
-	strncpy((char *) &parse_line, line, sizeof(parse_line) -1);
+	memset(parse_line_char, '\0', sizeof(parse_line_char));
+	strncpy(parse_line_char, line, sizeof(parse_line_char) -1);
 
-	if (strlen((char *) &parse_line) != sizeof(parse_line) - 1) {
+	if (strlen(parse_line_char) != sizeof(parse_line_char) - 1) {
 		return False;
 	}
 
 	/* Get the jobid */
-	buf->job = atoi(parse_line.jobid);
+	buf->job = atoi(parse_line->jobid);
 
 	/* Get the job name */
-	parse_line.space2[0] = '\0';
-	trim_char(parse_line.jobname, '\0', ' ');
-	fstrcpy(buf->fs_file, parse_line.jobname);
+	parse_line->space2[0] = '\0';
+	trim_char(parse_line->jobname, '\0', ' ');
+	fstrcpy(buf->fs_file, parse_line->jobname);
 
 	buf->priority = 0;
-	buf->size = atoi(parse_line.size);
+	buf->size = atoi(parse_line->size);
 	buf->time = time(NULL);
 
 	/* Make sure we have an owner */
-	if (!strlen(parse_line.owner)) {
+	if (!strlen(parse_line->owner)) {
 		return False;
 	}
 
 	/* Make sure we have a valid status */
-	parse_line.space4[0] = '\0';
-	trim_char(parse_line.status, '\0', ' ');
-	if (!strequal(parse_line.status, LPROS2_PRINTING) &&
-			!strequal(parse_line.status, LPROS2_PAUSED) &&
-			!strequal(parse_line.status, LPROS2_WAITING)) {
+	parse_line->space4[0] = '\0';
+	trim_char(parse_line->status, '\0', ' ');
+	if (!strequal(parse_line->status, LPROS2_PRINTING) &&
+			!strequal(parse_line->status, LPROS2_PAUSED) &&
+			!strequal(parse_line->status, LPROS2_WAITING)) {
 		return False;
 	}
 
-	fstrcpy(buf->fs_user, parse_line.owner);
-	if (strequal(parse_line.status, LPROS2_PRINTING)) {
+	fstrcpy(buf->fs_user, parse_line->owner);
+	if (strequal(parse_line->status, LPROS2_PRINTING)) {
 		buf->status = LPQ_PRINTING;
-	} else if (strequal(parse_line.status, LPROS2_PAUSED)) {
+	} else if (strequal(parse_line->status, LPROS2_PAUSED)) {
 		buf->status = LPQ_PAUSED;
 	} else {
 		buf->status = LPQ_QUEUED;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list