Fix build warning on FreeBSD
authorSteven Danneman <steven.danneman@isilon.com>
Mon, 15 Sep 2008 23:28:30 +0000 (16:28 -0700)
committerJeremy Allison <jra@samba.org>
Mon, 15 Sep 2008 23:28:30 +0000 (16:28 -0700)
Fix for the following build warning:

Compiling torture/cmd_vfs.c
torture/cmd_vfs.c: In function `cmd_open':
torture/cmd_vfs.c:275: warning: unsigned int format, different type arg (arg 3)
torture/cmd_vfs.c: In function `cmd_mknod':
torture/cmd_vfs.c:992: warning: unsigned int format, different type arg (arg 3)

sccanf had mismatched types for mode_t between formating parameter and var args.

source/torture/cmd_vfs.c

index 28400887ef720f4331a7f738ea419e4b7826cfa0..dddd5bef29f4b7eeef7380888ceeca17cd90fae6 100644 (file)
@@ -272,7 +272,7 @@ static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
                flagstr++;
        }
        if ((flags & O_CREAT) && argc == 4) {
-               if (sscanf(argv[3], "%o", &mode) == 0) {
+               if (sscanf(argv[3], "%ho", (unsigned short *)&mode) == 0) {
                        printf("open: error=-1 (invalid mode!)\n");
                        return NT_STATUS_UNSUCCESSFUL;
                }
@@ -989,7 +989,7 @@ static NTSTATUS cmd_mknod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
                return NT_STATUS_OK;
        }
 
-       if (sscanf(argv[2], "%o", &mode) == 0) {
+       if (sscanf(argv[2], "%ho", (unsigned short *)&mode) == 0) {
                printf("open: error=-1 (invalid mode!)\n");
                return NT_STATUS_UNSUCCESSFUL;
        }