Fixes for signed char architectures
authorMarc Dionne <marc.c.dionne@gmail.com>
Fri, 20 Aug 2010 20:37:56 +0000 (16:37 -0400)
committerDerrick Brashear <shadow@dementia.org>
Sat, 21 Aug 2010 00:34:49 +0000 (17:34 -0700)
"char" is unsigned on s390x, which causes a few warnings where we
test for negative values.

Add a signed modifier in a few cases, and in vos.c replace with an
int to match a similar section of code in the same file.

Mostly a warning fix, but in one case the variable could be used
to return a -1 error value, so it may have caused an actual bug.

Change-Id: I005fbcd7c573735df7403316ec0ced67ee81e559
Reviewed-on: http://gerrit.openafs.org/2602
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/afs.h
src/rxkad/rxkad.p.h
src/volser/vos.c

index 2f39f2b..a54a317 100644 (file)
@@ -104,7 +104,7 @@ extern afs_int32 afs_rx_idledead;
 struct sysname_info {
     char *name;
     short offset;
-    char index, allocked;
+    signed char index, allocked;
 };
 
 /* flags to use with AFSOP_CACHEINIT */
index 6895b5a..91d1f52 100644 (file)
@@ -74,7 +74,7 @@ typedef char rxkad_type;
 #define rxkad_client 1         /* bits definitions */
 #define rxkad_server 2
 
-typedef char rxkad_level;
+typedef signed char rxkad_level;
 #define rxkad_clear 0          /* send packets in the clear */
 #define rxkad_auth 1           /* send encrypted sequence numbers */
 #define rxkad_crypt 2          /* encrypt packet data */
index fbd66c0..391ff34 100644 (file)
@@ -5568,7 +5568,7 @@ ConvertRO(struct cmd_syndesc *as, void *arock)
     afs_int32 ropartition = 0;
     int force = 0;
     struct rx_connection *aconn;
-    char c, dc;
+    int c, dc;
 
     server = GetServer(as->parms[0].items->data);
     if (!server) {