]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: avoid compiler warning
authorEric Blake <eblake@redhat.com>
Thu, 29 Apr 2010 03:36:03 +0000 (21:36 -0600)
committerEric Blake <eblake@redhat.com>
Mon, 3 May 2010 23:07:39 +0000 (17:07 -0600)
Necessary on cygwin, where uid_t and gid_t are 4-byte long rather
than int, causing gcc -Wformat warnings.

* src/util/util.c (virFileOperationNoFork, virDirCreateNoFork)
(virFileOperation, virDirCreate, virGetUserEnt): Cast uid_t and
gid_t before passing to printf.
* .gitignore: Ignore Windows executables.

.gitignore
src/util/util.c

index 8c275f4bb6b5a86417cb5f3f037d3a3aaa224cad..4faf3840b4b59a8cd905dac9b7fbd9777e14b00e 100644 (file)
@@ -1,6 +1,7 @@
 *#*#
 *.#*#
 *.a
+*.exe
 *.o
 *.orig
 *.rej
index 320918506ef52d413ca801c73c286d25449f84e0..536cadd6c4a46693e84bc32ff601b02adfa3da0c 100644 (file)
 #include "util.h"
 #include "memory.h"
 #include "threads.h"
+#include "verify.h"
 
 #ifndef NSIG
 # define NSIG 32
 #endif
 
+verify(sizeof(gid_t) <= sizeof (unsigned int) &&
+       sizeof(uid_t) <= sizeof (unsigned int));
+
 #define VIR_FROM_THIS VIR_FROM_NONE
 
 #define virUtilError(code, ...)                                            \
@@ -1277,7 +1281,7 @@ static int virFileOperationNoFork(const char *path, int openflags, mode_t mode,
         && (fchown(fd, uid, gid) < 0)) {
         ret = errno;
         virReportSystemError(errno, _("cannot chown '%s' to (%u, %u)"),
-                             path, uid, gid);
+                             path, (unsigned int) uid, (unsigned int) gid);
         goto error;
     }
     if ((flags & VIR_FILE_OP_FORCE_PERMS)
@@ -1328,7 +1332,7 @@ static int virDirCreateNoFork(const char *path, mode_t mode, uid_t uid, gid_t gi
         && (chown(path, uid, gid) < 0)) {
         ret = errno;
         virReportSystemError(errno, _("cannot chown '%s' to (%u, %u)"),
-                             path, uid, gid);
+                             path, (unsigned int) uid, (unsigned int) gid);
         goto error;
     }
     if ((flags & VIR_DIR_CREATE_FORCE_PERMS)
@@ -1407,14 +1411,14 @@ parenterror:
         ret = errno;
         virReportSystemError(errno,
                              _("cannot set gid %u creating '%s'"),
-                             gid, path);
+                             (unsigned int) gid, path);
         goto childerror;
     }
     if  ((uid != 0) && (setuid(uid) != 0)) {
         ret = errno;
         virReportSystemError(errno,
                              _("cannot set uid %u creating '%s'"),
-                             uid, path);
+                             (unsigned int) uid, path);
         goto childerror;
     }
     if ((fd = open(path, openflags, mode)) < 0) {
@@ -1436,7 +1440,7 @@ parenterror:
         && (fchown(fd, -1, gid) < 0)) {
         ret = errno;
         virReportSystemError(errno, _("cannot chown '%s' to (%u, %u)"),
-                             path, uid, gid);
+                             path, (unsigned int) uid, (unsigned int) gid);
         goto childerror;
     }
     if ((flags & VIR_FILE_OP_FORCE_PERMS)
@@ -1517,13 +1521,13 @@ parenterror:
     if ((gid != 0) && (setgid(gid) != 0)) {
         ret = errno;
         virReportSystemError(errno, _("cannot set gid %u creating '%s'"),
-                             gid, path);
+                             (unsigned int) gid, path);
         goto childerror;
     }
     if  ((uid != 0) && (setuid(uid) != 0)) {
         ret = errno;
         virReportSystemError(errno, _("cannot set uid %u creating '%s'"),
-                             uid, path);
+                             (unsigned int) uid, path);
         goto childerror;
     }
     if (mkdir(path, mode) < 0) {
@@ -1547,7 +1551,7 @@ parenterror:
         ret = errno;
         virReportSystemError(errno,
                              _("cannot chown '%s' to group %u"),
-                             path, gid);
+                             path, (unsigned int) gid);
         goto childerror;
     }
     if ((flags & VIR_DIR_CREATE_FORCE_PERMS)
@@ -2563,8 +2567,8 @@ static char *virGetUserEnt(uid_t uid,
      */
     if (getpwuid_r(uid, &pwbuf, strbuf, strbuflen, &pw) != 0 || pw == NULL) {
         virReportSystemError(errno,
-                             _("Failed to find user record for uid '%d'"),
-                             uid);
+                             _("Failed to find user record for uid '%u'"),
+                             (unsigned int) uid);
         VIR_FREE(strbuf);
         return NULL;
     }