[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Fix libfsimage build on NetBSD.



# HG changeset patch
# User Keir Fraser <keir@xxxxxxxxxxxxx>
# Date 1190546316 -3600
# Node ID 5957d62f72901859327506629a8c7a78e7417c4f
# Parent  f187dc338d8212a04690e38d9d1b15b24a0de207
Fix libfsimage build on NetBSD.

Fixes a number of these errors:
 cc1: warnings being treated as errors
 fsys_fat.c: In function 'fat_dir':
 fsys_fat.c:304: warning: array subscript has type 'char'

Signed-off-by: Christoph Egger <Christoph.Egger@xxxxxxx>

These ugly casts are needed according to the ISO C spec.

Acked-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 tools/libfsimage/ext2fs/fsys_ext2fs.c     |    6 +++---
 tools/libfsimage/fat/fsys_fat.c           |   12 ++++++------
 tools/libfsimage/iso9660/fsys_iso9660.c   |    2 +-
 tools/libfsimage/reiserfs/fsys_reiserfs.c |    6 +++---
 tools/libfsimage/ufs/fsys_ufs.c           |    4 ++--
 5 files changed, 15 insertions(+), 15 deletions(-)

diff -r f187dc338d82 -r 5957d62f7290 tools/libfsimage/ext2fs/fsys_ext2fs.c
--- a/tools/libfsimage/ext2fs/fsys_ext2fs.c     Sat Sep 22 09:39:18 2007 +0100
+++ b/tools/libfsimage/ext2fs/fsys_ext2fs.c     Sun Sep 23 12:18:36 2007 +0100
@@ -594,7 +594,7 @@ ext2fs_dir (fsi_file_t *ffi, char *dirna
 
          /* Find out how long our remaining name is. */
          len = 0;
-         while (dirname[len] && !isspace (dirname[len]))
+         while (dirname[len] && !isspace ((uint8_t)dirname[len]))
            len++;
 
          /* Get the symlink size. */
@@ -651,7 +651,7 @@ ext2fs_dir (fsi_file_t *ffi, char *dirna
        }
 
       /* if end of filename, INODE points to the file's inode */
-      if (!*dirname || isspace (*dirname))
+      if (!*dirname || isspace ((uint8_t)*dirname))
        {
          if (!S_ISREG (INODE->i_mode))
            {
@@ -678,7 +678,7 @@ ext2fs_dir (fsi_file_t *ffi, char *dirna
        }
 
       /* skip to next slash or end of filename (space) */
-      for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/';
+      for (rest = dirname; (ch = *rest) && !isspace ((uint8_t)ch) && ch != '/';
           rest++);
 
       /* look through this directory and find the next filename component */
diff -r f187dc338d82 -r 5957d62f7290 tools/libfsimage/fat/fsys_fat.c
--- a/tools/libfsimage/fat/fsys_fat.c   Sat Sep 22 09:39:18 2007 +0100
+++ b/tools/libfsimage/fat/fsys_fat.c   Sun Sep 23 12:18:36 2007 +0100
@@ -301,7 +301,7 @@ fat_dir (fsi_file_t *ffi, char *dirname)
   /* if we have a real file (and we're not just printing possibilities),
      then this is where we want to exit */
   
-  if (!*dirname || isspace (*dirname))
+  if (!*dirname || isspace ((uint8_t)*dirname))
     {
       if (attrib & FAT_ATTRIB_DIR)
        {
@@ -325,7 +325,7 @@ fat_dir (fsi_file_t *ffi, char *dirname)
   /* Directories don't have a file size */
   filemax = INT_MAX;
   
-  for (rest = dirname; (ch = *rest) && !isspace (ch) && ch != '/'; rest++);
+  for (rest = dirname; (ch = *rest) && !isspace ((uint8_t)ch) && ch != '/'; 
rest++);
   
   *rest = 0;
   
@@ -426,13 +426,13 @@ fat_dir (fsi_file_t *ffi, char *dirname)
       {
        int i, j, c;
        
-       for (i = 0; i < 8 && (c = filename[i] = tolower (dir_buf[i]))
-              && !isspace (c); i++);
+       for (i = 0; i < 8 && (c = filename[i] = tolower ((uint8_t)dir_buf[i]))
+              && !isspace ((uint8_t)c); i++);
        
        filename[i++] = '.';
        
-       for (j = 0; j < 3 && (c = filename[i + j] = tolower (dir_buf[8 + j]))
-              && !isspace (c); j++);
+       for (j = 0; j < 3 && (c = filename[i + j] = tolower ((uint8_t)dir_buf[8 
+ j]))
+              && !isspace ((uint8_t)c); j++);
        
        if (j == 0)
          i--;
diff -r f187dc338d82 -r 5957d62f7290 tools/libfsimage/iso9660/fsys_iso9660.c
--- a/tools/libfsimage/iso9660/fsys_iso9660.c   Sat Sep 22 09:39:18 2007 +0100
+++ b/tools/libfsimage/iso9660/fsys_iso9660.c   Sun Sep 23 12:18:36 2007 +0100
@@ -164,7 +164,7 @@ iso9660_dir (fsi_file_t *ffi, char *dirn
       /* pathlen = strcspn(dirname, "/\n\t "); */
       for (pathlen = 0 ;
           dirname[pathlen]
-            && !isspace(dirname[pathlen]) && dirname[pathlen] != '/' ;
+            && !isspace((uint8_t)dirname[pathlen]) && dirname[pathlen] != '/' ;
           pathlen++)
        ;
 
diff -r f187dc338d82 -r 5957d62f7290 tools/libfsimage/reiserfs/fsys_reiserfs.c
--- a/tools/libfsimage/reiserfs/fsys_reiserfs.c Sat Sep 22 09:39:18 2007 +0100
+++ b/tools/libfsimage/reiserfs/fsys_reiserfs.c Sun Sep 23 12:18:36 2007 +0100
@@ -1029,7 +1029,7 @@ reiserfs_dir (fsi_file_t *ffi, char *dir
 
          /* Find out how long our remaining name is. */
          len = 0;
-         while (dirname[len] && !isspace (dirname[len]))
+         while (dirname[len] && !isspace ((uint8_t)dirname[len]))
            len++;
 
          if (filemax + len > sizeof (linkbuf) - 1)
@@ -1078,7 +1078,7 @@ reiserfs_dir (fsi_file_t *ffi, char *dir
       /* if we have a real file (and we're not just printing possibilities),
         then this is where we want to exit */
       
-      if (! *dirname || isspace (*dirname))
+      if (! *dirname || isspace ((uint8_t)*dirname))
        {
          if (! S_ISREG (mode))
            {
@@ -1109,7 +1109,7 @@ reiserfs_dir (fsi_file_t *ffi, char *dir
          errnum = ERR_BAD_FILETYPE;
          return 0;
        }
-      for (rest = dirname; (ch = *rest) && ! isspace (ch) && ch != '/'; 
rest++);
+      for (rest = dirname; (ch = *rest) && ! isspace ((uint8_t)ch) && ch != 
'/'; rest++);
       *rest = 0;
       
 # ifndef STAGE1_5
diff -r f187dc338d82 -r 5957d62f7290 tools/libfsimage/ufs/fsys_ufs.c
--- a/tools/libfsimage/ufs/fsys_ufs.c   Sat Sep 22 09:39:18 2007 +0100
+++ b/tools/libfsimage/ufs/fsys_ufs.c   Sun Sep 23 12:18:36 2007 +0100
@@ -72,13 +72,13 @@ ufs_dir(fsi_file_t *ffi, char *dirname)
        while (*dirname == '/')
                dirname++;
 
-       while (inode && *dirname && !isspace(*dirname)) {
+       while (inode && *dirname && !isspace((uint8_t)*dirname)) {
                if (!openi(ffi, inode))
                        return 0;
 
                /* parse for next path component */
                fname = dirname;
-               while (*dirname && !isspace(*dirname) && *dirname != '/')
+               while (*dirname && !isspace((uint8_t)*dirname) && *dirname != 
'/')
                        dirname++;
                ch = *dirname;
                *dirname = 0;   /* ensure null termination */

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.