]> Zhao Yanbai Git Server - minix.git/commitdiff
Fix many more comiler warnings
authorThomas Veerman <thomas@minix3.org>
Mon, 28 Nov 2011 10:07:55 +0000 (10:07 +0000)
committerThomas Veerman <thomas@minix3.org>
Mon, 28 Nov 2011 10:07:55 +0000 (10:07 +0000)
Most warnings were harmless, some real bugs. Test set should now compile
cleanly with ack, gcc, and clang.

53 files changed:
lib/libc/ansi/malloc-debug.c
lib/libddekit/src/usb_server.c
lib/librefuse/refuse_opt.c
lib/nbsd_libc/gen/minix/sysconf.c
lib/nbsd_libc/gen/minix/utime.c
lib/nbsd_libc/gen/syslog.c
lib/nbsd_libc/sys-minix/_mcontext.c
lib/nbsd_libc/sys-minix/bind.c
lib/nbsd_libc/sys-minix/chown.c
lib/nbsd_libc/sys-minix/connect.c
lib/nbsd_libc/sys-minix/execve.c
lib/nbsd_libc/sys-minix/link.c
lib/nbsd_libc/sys-minix/loadname.c
lib/nbsd_libc/sys-minix/m_closefrom.c
lib/nbsd_libc/sys-minix/minix_rs.c
lib/nbsd_libc/sys-minix/mkdir.c
lib/nbsd_libc/sys-minix/mknod.c
lib/nbsd_libc/sys-minix/open.c
lib/nbsd_libc/sys-minix/readlink.c
lib/nbsd_libc/sys-minix/rename.c
lib/nbsd_libc/sys-minix/sendto.c
lib/nbsd_libc/sys-minix/setgroups.c
lib/nbsd_libc/sys-minix/setitimer.c
lib/nbsd_libc/sys-minix/setsockopt.c
lib/nbsd_libc/sys-minix/sigaction.c
lib/nbsd_libc/sys-minix/stat.c
lib/nbsd_libc/sys-minix/statvfs.c
lib/nbsd_libc/sys-minix/symlink.c
lib/nbsd_libc/sys-minix/truncate.c
lib/nbsd_libc/sys-minix/write.c
test/Makefile
test/test10.c
test/test11.c
test/test20.c
test/test21.c
test/test22.c
test/test24.c
test/test25.c
test/test26.c
test/test27.c
test/test28.c
test/test29.c
test/test30.c
test/test32.c
test/test34.c
test/test37.c
test/test38.c
test/test39.c
test/test46.c
test/test53.c
test/test54.c
test/test58.c
test/test7.c

index 2f2b918ea6e0829746880d2893b904651708b28d..b2f466fbcafdcbc8924be1cdf12385a5c5b47bb8 100644 (file)
@@ -177,7 +177,7 @@ static struct block *block_find(const void *ptr)
 
        /* locate block based on pointer, then check whether it is valid */
        block = (struct block *) page_round_down(
-               (unsigned long) ((struct block *) ptr - 1));
+               (unsigned long) ((struct block *) __UNCONST(ptr) - 1));
        block_check(block);
        LOG(("block_find; block=0x%x\n", block));
        return block;
index 2220497c5c0b0c24ec66329ca66a5ec40365205f..faf22665a1494afaf20a249a8424487c179576a5 100644 (file)
@@ -546,7 +546,7 @@ device_connect_callback
                        break;
        }
 
-       if (_devices[i].dev!= NULL) {
+       if (i >= MAX_DEVS) {
                DEBUG_MSG("Too much devices...");
        } else {
                _devices[i].dev = dev;
index f44bdc2364f65170ff82fc77b8fa52f999c22eb7..828dbe2c57655da4c014cf04edf31d465f62608a 100644 (file)
@@ -279,6 +279,8 @@ fuse_opt_parse(struct fuse_args *args, void *data,
        char *buf;
        int i, rv = 0;
 
+       memset(&foo, '\0', sizeof(foo));
+
        if (!args || !args->argv || !args->argc || !proc)
                return 0;
 
index df6a9acd4fff87ed9a698a33979ee86d64570e35..95aabeb7a27612f46ddd286b8d1a9b04b34ad6f1 100644 (file)
@@ -27,7 +27,7 @@ PRIVATE u32_t get_hz(void)
 
   if ((fp = fopen(_PATH_PROC "hz", "r")) != NULL)
   {
-       r = fscanf(fp, "%lu", &hz);
+       r = fscanf(fp, "%u", &hz);
 
        fclose(fp);
 
index 1d68c9c3e3417e8f47d4118189ba02bd3823e1ac..35b3f0e66b48982c793c1a55b37ed0327a1a3cde 100644 (file)
@@ -7,9 +7,7 @@
 #include <string.h>
 #include <utime.h>
 
-PUBLIC int utime(name, timp)
-_CONST char *name;
-_CONST struct utimbuf *timp;
+PUBLIC int utime(const char *name, const struct utimbuf *timp)
 {
   message m;
 
@@ -21,6 +19,6 @@ _CONST struct utimbuf *timp;
        m.m2_l2 = timp->modtime;
        m.m2_i1 = strlen(name) + 1;
   }
-  m.m2_p1 = (char *) name;
+  m.m2_p1 = (char *) __UNCONST(name);
   return(_syscall(VFS_PROC_NR, UTIME, &m));
 }
index 39b4eb64e5692be36dee272bfa5fac99a53fb3ab..225919c993bbbf0bfb293585706b7894b7a8aa9b 100644 (file)
@@ -422,8 +422,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid,
        }
 
        /* Get connected, output the message to the local logger. */
+#ifndef __minix
        if (data == &sdata)
                mutex_lock(&syslog_mutex);
+#endif
        opened = !data->opened;
        if (opened)
                openlog_unlocked_r(data->log_tag, data->log_stat, 0, data);
@@ -460,8 +462,10 @@ vsyslogp_r(int pri, struct syslog_data *data, const char *msgid,
                (void)close(fd);
        }
 
+#ifndef __minix
        if (data == &sdata)
                mutex_unlock(&syslog_mutex);
+#endif
 
        if (data != &sdata && opened) {
                /* preserve log tag */
@@ -541,24 +545,32 @@ openlog_unlocked_r(const char *ident, int logstat, int logfac,
 void
 openlog_r(const char *ident, int logstat, int logfac, struct syslog_data *data)
 {
+#ifndef __minix
        if (data == &sdata)
                mutex_lock(&syslog_mutex);
+#endif
        openlog_unlocked_r(ident, logstat, logfac, data);
+#ifndef __minix
        if (data == &sdata)
                mutex_unlock(&syslog_mutex);
+#endif
 }
 
 void
 closelog_r(struct syslog_data *data)
 {
+#ifndef __minix
        if (data == &sdata)
                mutex_lock(&syslog_mutex);
+#endif
        (void)close(data->log_file);
        data->log_file = -1;
        data->connected = 0;
        data->log_tag = NULL;
+#ifndef __minix
        if (data == &sdata)
                mutex_unlock(&syslog_mutex);
+#endif
 }
 
 int
index bd70c9cdbaf7aff04a50cc4b24db32c3a7a644de..183b8a3ea769afe97522a965eeef326dbb730913 100644 (file)
@@ -12,7 +12,7 @@ PUBLIC int setmcontext(const mcontext_t *mcp)
 {
   message m;
 
-  m.m1_p1 = (char *) mcp;
+  m.m1_p1 = (char *) __UNCONST(mcp);
 
   return(_syscall(PM_PROC_NR, SETMCONTEXT, &m));
 }
index dfad3b0f8db42513bd64ca48f07c3e69c9544d52..47c90d8cd228b4ddaeff057e5b3229ffdcf52abb 100644 (file)
@@ -92,7 +92,7 @@ static int _tcp_bind(int sock, const struct sockaddr *address,
        nwio_tcpconf_t tcpconf;
        struct sockaddr_in *sinp;
 
-       sinp= (struct sockaddr_in *)address;
+       sinp= (struct sockaddr_in *) __UNCONST(address);
        if (sinp->sin_family != AF_INET || address_len < sizeof(*sinp))
        {
 #if DEBUG
@@ -132,7 +132,7 @@ static int _udp_bind(int sock, const struct sockaddr *address,
        nwio_udpopt_t udpopt;
        struct sockaddr_in *sinp;
 
-       sinp= (struct sockaddr_in *)address;
+       sinp= (struct sockaddr_in *) __UNCONST(address);
        if (sinp->sin_family != AF_INET || address_len < sizeof(*sinp))
        {
 #if DEBUG
@@ -193,7 +193,7 @@ static int _uds_bind(int sock, const struct sockaddr *address,
 
        did_mknod = 0;
 
-       r = mknod(((struct sockaddr_un *) address)->sun_path,
+       r = mknod(((struct sockaddr_un *) __UNCONST(address))->sun_path,
                S_IFSOCK|S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH, 0);
 
        if (r == -1 && errno != EEXIST) {
@@ -203,14 +203,14 @@ static int _uds_bind(int sock, const struct sockaddr *address,
        }
 
        /* perform the bind */
-       r= ioctl(sock, NWIOSUDSADDR, (void *) address);
+       r= ioctl(sock, NWIOSUDSADDR, (void *) __UNCONST(address));
 
        if (r == -1 && did_mknod) {
 
                /* bind() failed in pfs, so we roll back the 
                 * file system change
                 */
-               unlink(((struct sockaddr_un *) address)->sun_path);
+               unlink(((struct sockaddr_un *) __UNCONST(address))->sun_path);
        }
 
        return r;
index 3af36961c5a72f69bc100dffe9c3bc4b28a7d343..8a15d321116851f5cf9dee5e2b6a6d86ab02f013 100644 (file)
@@ -16,6 +16,6 @@ PUBLIC int chown(const char *name, uid_t owner, gid_t grp)
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = owner;
   m.m1_i3 = grp;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   return(_syscall(VFS_PROC_NR, CHOWN, &m));
 }
index 66f8cc8a0c47cc7fcd14bb4e3a6663cadfea1f63..3ef50854ed0e1be76193ed328a3db49fdb9d80db 100644 (file)
@@ -94,7 +94,7 @@ static int _tcp_connect(int sock, const struct sockaddr *address,
                errno= EINVAL;
                return -1;
        }
-       sinp= (struct sockaddr_in *)address;
+       sinp= (struct sockaddr_in *) __UNCONST(address);
        if (sinp->sin_family != AF_INET)
        {
                errno= EINVAL;
@@ -148,7 +148,7 @@ static int _udp_connect(int sock, const struct sockaddr *address,
                errno= EINVAL;
                return -1;
        }
-       sinp= (struct sockaddr_in *)address;
+       sinp= (struct sockaddr_in *) __UNCONST(address);
        if (sinp->sin_family != AF_INET)
        {
                errno= EINVAL;
@@ -174,5 +174,5 @@ static int _uds_connect(int sock, const struct sockaddr *address,
        }
 
        /* perform the connect */
-       return ioctl(sock, NWIOSUDSCONN, (void *) address);
+       return ioctl(sock, NWIOSUDSCONN, (void *) __UNCONST(address));
 }
index f62a278bd37a1a8791996ab020f2f5d0ee3c39fe..499448afa9853e3c94e05139f50f2235a8ab0d2a 100644 (file)
@@ -103,7 +103,7 @@ int execve(const char *path, char * const *argv, char * const *envp)
        /* We can finally make the system call. */
        m.m1_i1 = strlen(path) + 1;
        m.m1_i2 = frame_size;
-       m.m1_p1 = (char *) path;
+       m.m1_p1 = (char *) __UNCONST(path);
        m.m1_p2 = frame;
 
        /* Clear unused fields */
index b4f9f71bb3053d141b50693b708782fd75f17fef..960d3eba408223443b5ccd421fcf2dad4d6b20c8 100644 (file)
@@ -9,14 +9,13 @@
 __weak_alias(link, _link)
 #endif
 
-PUBLIC int link(name, name2)
-_CONST char *name, *name2;
+PUBLIC int link(const char *name, const char *name2)
 {
   message m;
 
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = strlen(name2) + 1;
-  m.m1_p1 = (char *) name;
-  m.m1_p2 = (char *) name2;
+  m.m1_p1 = (char *) __UNCONST(name);
+  m.m1_p2 = (char *) __UNCONST(name2);
   return(_syscall(VFS_PROC_NR, LINK, &m));
 }
index 3ceb62d5c8c7e538d2775e045197d2fc3007bd03..0b19867761ff109d2067e76749a2f141c83d1423 100644 (file)
@@ -4,9 +4,7 @@
 
 #include <string.h>
 
-void _loadname(name, msgptr)
-const char *name;
-message *msgptr;
+void _loadname(const char *name, message *msgptr)
 {
 /* This function is used to load a string into a type m3 message. If the
  * string fits in the message, it is copied there.  If not, a pointer to
@@ -17,6 +15,6 @@ message *msgptr;
 
   k = strlen(name) + 1;
   msgptr->m3_i1 = k;
-  msgptr->m3_p1 = (char *) name;
+  msgptr->m3_p1 = (char *) __UNCONST(name);
   if (k <= M3_STRING) strcpy(msgptr->m3_ca1, name);
 }
index 962e84a5b7eaa35ca7abfc5acae52ef80d6719a9..418d439c5d65bf6b245442c3b9bca79f19372ea5 100644 (file)
@@ -6,7 +6,7 @@
 
 PUBLIC int closefrom(int fd)
 {
-       int f, ok = 0, e;
+       int f, ok = 0, e = 0;
        for(f = fd; f < __MINIX_OPEN_MAX; f++) {
                if(close(f) >= 0)
                        ok = 1;
index f167ca4339d93127de0ba3def4f4554364a51e4b..236c55d086e2ea90c4a903bbc2e7ae60f73276a0 100644 (file)
@@ -28,7 +28,7 @@ int minix_rs_lookup(const char *name, endpoint_t *value)
 
        len_key = strlen(name)+1;
 
-       m.RS_NAME = (char *) name;
+       m.RS_NAME = (char *) __UNCONST(name);
        m.RS_NAME_LEN = len_key;
 
        if (_syscall(RS_PROC_NR, RS_LOOKUP, &m) != -1) {
index 91d61b9e21ac311556478130a6b108a764391fca..1b291b0c5255d80d36afae0b7fe0b51e7e04099a 100644 (file)
@@ -15,6 +15,6 @@ PUBLIC int mkdir(const char *name, mode_t mode)
 
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = mode;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   return(_syscall(VFS_PROC_NR, MKDIR, &m));
 }
index 19e13c515b135b82c286440c7b20493689a55d66..a98070b24243626926280bfabc345fe54635788c 100644 (file)
@@ -14,7 +14,7 @@ PUBLIC int mknod(const char *name, mode_t mode, dev_t dev)
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = mode;
   m.m1_i3 = dev;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) ((int) 0);                /* obsolete size field */
   return(_syscall(VFS_PROC_NR, MKNOD, &m));
 }
index 8a8e71514c45f582c42da88f00ac5bfed57334d0..b62b2adce032fabad2a75f55f7ff78f0e57a3abc 100644 (file)
@@ -27,7 +27,7 @@ PUBLIC int open(const char *name, int flags)
         * an int, the mode was passed as an int.
         */
        m.m1_i3 = va_arg(argp, int);
-       m.m1_p1 = (char *) name;
+       m.m1_p1 = (char *) __UNCONST(name);
   } else {
        _loadname(name, &m);
        m.m3_i2 = flags;
index d510799d92243ba720cc9ad6413b8e7ca295569d..9d5e7bcb5c6ffccad10f69119ca7d84728a36814 100644 (file)
@@ -9,16 +9,13 @@
 __weak_alias(readlink, _readlink)
 #endif
 
-int readlink(name, buffer, bufsiz)
-const char *name;
-char *buffer;
-size_t bufsiz;
+int readlink(const char *name, char *buffer, size_t bufsiz)
 {
   message m;
 
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = bufsiz;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) buffer;
 
   return(_syscall(VFS_PROC_NR, RDLNK, &m));
index df735a087c2ce92339ad8597a65f00b8c58b6cdd..50aedbd2f453d4d1f474ed262be0be3ed8343503 100644 (file)
@@ -5,14 +5,13 @@
 #include <string.h>
 #include <stdio.h>
 
-int rename(name, name2)
-const char *name, *name2;
+int rename(const char *name, const char *name2)
 {
   message m;
 
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = strlen(name2) + 1;
-  m.m1_p1 = (char *) name;
-  m.m1_p2 = (char *) name2;
+  m.m1_p1 = (char *) __UNCONST(name);
+  m.m1_p2 = (char *) __UNCONST(name2);
   return(_syscall(VFS_PROC_NR, RENAME, &m));
 }
index d746e05562e809d2ca4f756bbc9f3d81ea3b949c..c3c039d1d348b4288bd63b7ad4228123b5059f48 100644 (file)
@@ -137,7 +137,7 @@ static ssize_t _udp_sendto(int sock, const void *message, size_t length,
                        errno= EINVAL;
                        return -1;
                }
-               sinp= (struct sockaddr_in *)dest_addr;
+               sinp= (struct sockaddr_in *) __UNCONST(dest_addr);
                if (sinp->sin_family != AF_INET)
                {
                        errno= EAFNOSUPPORT;
@@ -226,7 +226,7 @@ static ssize_t _uds_sendto_dgram(int sock, const void *message, size_t length,
        }
 
        /* set the target address */
-       r= ioctl(sock, NWIOSUDSTADDR, (void *) dest_addr);
+       r= ioctl(sock, NWIOSUDSTADDR, (void *) __UNCONST(dest_addr));
        if (r == -1) {
                return r;
        }
index eabf1f0b1ded778db223db0d19f32fcd40a25842..6080596ec93eda2fdfe2c85ffdcd8a6d29563840 100644 (file)
@@ -12,7 +12,7 @@ int setgroups(int ngroups, const gid_t *gidset)
 {
   message m;
 
-  m.m1_p1 = (char *) gidset;
+  m.m1_p1 = (char *) __UNCONST(gidset);
   m.m1_i1 = ngroups;
 
   return(_syscall(PM_PROC_NR, SETGROUPS, &m));
index b9234112af9b8ab96095c95b279b17a170b76ada..d69740cab669301cda8aaa0fe17a269ba1e9da2d 100644 (file)
@@ -19,7 +19,7 @@ int setitimer(int which, const struct itimerval *_RESTRICT value,
   if (value == NULL) return(EINVAL);
 
   m.m1_i1 = which;
-  m.m1_p1 = (char *) value;
+  m.m1_p1 = (char *) __UNCONST(value);
   m.m1_p2 = (char *) ovalue;
 
   return _syscall(PM_PROC_NR, ITIMER, &m);
index 2014c90513fcbbe3cc7dc3cd4cf6c7288f29c5df..ff48111777a8c424d87b27da0b305f55d82e79da 100644 (file)
@@ -90,7 +90,7 @@ static int _tcp_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (!i)
                {
                        /* At the moment there is no way to turn off 
@@ -108,7 +108,7 @@ static int _tcp_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (!i)
                {
                        /* At the moment there is no way to turn off 
@@ -126,7 +126,7 @@ static int _tcp_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (i > 32*1024)
                {
                        /* The receive buffer is limited to 32K at the moment.
@@ -146,7 +146,7 @@ static int _tcp_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (i > 32*1024)
                {
                        /* The send buffer is limited to 32K at the moment.
@@ -166,7 +166,7 @@ static int _tcp_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (i)
                {
                        /* At the moment there is no way to turn on 
@@ -212,7 +212,7 @@ static int _uds_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               size= *(size_t *)option_value;
+               size= *(const size_t *)option_value;
                return ioctl(sock, NWIOSUDSRCVBUF, &size);
        }
 
@@ -223,7 +223,7 @@ static int _uds_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               size= *(size_t *)option_value;
+               size= *(const size_t *)option_value;
                return ioctl(sock, NWIOSUDSSNDBUF, &size);
        }
 
@@ -234,7 +234,7 @@ static int _uds_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (!i)
                {
                        /* At the moment there is no way to turn off 
@@ -253,7 +253,7 @@ static int _uds_setsockopt(int sock, int level, int option_name,
                        errno= EINVAL;
                        return -1;
                }
-               i= *(int *)option_value;
+               i= *(const int *)option_value;
                if (!i)
                {
                        /* credentials can always be received. */
index 724484d14ef406581c9353857cc4d9f783d75edd..8999f5911b75a230543988edf9ef14d63c30fd37 100644 (file)
@@ -6,17 +6,13 @@
 
 int __sigreturn(void);
 
-int sigaction(sig, act, oact)
-int sig;
-const struct sigaction *act;
-struct sigaction *oact;
+int sigaction(int sig, const struct sigaction *act, struct sigaction *oact)
 {
   message m;
 
   m.m1_i2 = sig;
 
-  /* XXX - yet more type puns because message struct is short of types. */
-  m.m1_p1 = (char *) act;
+  m.m1_p1 = (char *) __UNCONST(act);
   m.m1_p2 = (char *) oact;
   m.m1_p3 = (char *) __sigreturn;
 
index 3357acf538913114877e99731c0d3d77bcf4e047..21f96f7a924a37024edd0c372d594aa4b0ee069e 100644 (file)
@@ -40,7 +40,7 @@ int _stat(const char *name, struct stat *buffer)
   struct minix_prev_stat old_sb;
 
   m.m1_i1 = strlen(name) + 1;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) buffer;
 
   if((r = _syscall(VFS_PROC_NR, STAT, &m)) >= 0 || errno != ENOSYS)
@@ -52,7 +52,7 @@ int _stat(const char *name, struct stat *buffer)
    * User has struct stat (buffer), VFS still fills minix_prev_stat.
    */
   m.m1_i1 = strlen(name) + 1;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) &old_sb;
 
   if((r = _syscall(VFS_PROC_NR, PREV_STAT, &m)) < 0)
@@ -104,7 +104,7 @@ int _lstat(const char *name, struct stat *buffer)
   struct minix_prev_stat old_sb;
 
   m.m1_i1 = strlen(name) + 1;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) buffer;
 
   if((r = _syscall(VFS_PROC_NR, LSTAT, &m)) >= 0 || errno != ENOSYS)
@@ -116,7 +116,7 @@ int _lstat(const char *name, struct stat *buffer)
    * User has struct stat (buffer), VFS still fills minix_prev_stat.
    */
   m.m1_i1 = strlen(name) + 1;
-  m.m1_p1 = (char *) name;
+  m.m1_p1 = (char *) __UNCONST(name);
   m.m1_p2 = (char *) &old_sb;
 
   if((r = _syscall(VFS_PROC_NR, PREV_LSTAT, &m)) < 0)
index b886c0b3effc03af758125851ce144455143ac53..1de8ab77a2605789a9896a7c4b30e6a263437e29 100644 (file)
@@ -9,14 +9,12 @@
 __weak_alias(statvfs, _statvfs)
 #endif
 
-int statvfs(name, buffer)
-const char *name;
-struct statvfs *buffer;
+int statvfs(const char *name, struct statvfs *buffer)
 {
   message m;
 
   m.STATVFS_LEN = strlen(name) + 1;
-  m.STATVFS_NAME = (char *) name;
+  m.STATVFS_NAME = (char *) __UNCONST(name);
   m.STATVFS_BUF = (char *) buffer;
   return(_syscall(VFS_PROC_NR, STATVFS, &m));
 }
index 9231e2f04872d0c153dd3ff9344b06315788f9e2..6db8ff81b304bde7b245ed21e55bdb7948e9a8bb 100644 (file)
@@ -9,14 +9,13 @@ __weak_alias(symlink, _symlink)
 #include <string.h>
 #include <unistd.h>
 
-int symlink(name, name2)
-const char *name, *name2;
+int symlink(const char *name, const char *name2)
 {
   message m;
 
   m.m1_i1 = strlen(name) + 1;
   m.m1_i2 = strlen(name2) + 1;
-  m.m1_p1 = (char *) name;
-  m.m1_p2 = (char *) name2;
+  m.m1_p1 = (char *) __UNCONST(name);
+  m.m1_p2 = (char *) __UNCONST(name2);
   return(_syscall(VFS_PROC_NR, SYMLINK, &m));
 }
index 9028dd15d2faa20a39e1974b2181f7e5faa9c206..e72ca9da4f226143f7af6087c72c411e3472da45 100644 (file)
@@ -13,7 +13,7 @@ __weak_alias(truncate, _truncate)
 int truncate(const char *_path, off_t _length)
 {
   message m;
-  m.m2_p1 = (char *) _path;
+  m.m2_p1 = (char *) __UNCONST(_path);
   m.m2_i1 = strlen(_path)+1;
   m.m2_l1 = _length;
 
index cc9f193eb1a636a496ec1ac83c03a63fe5c82715..ce5d844dc45055a0346b9ded3c236fa6f9f21743 100644 (file)
@@ -8,16 +8,13 @@
 __weak_alias(write, _write)
 #endif
 
-ssize_t write(fd, buffer, nbytes)
-int fd;
-const void *buffer;
-size_t nbytes;
+ssize_t write(int fd, const void *buffer, size_t nbytes)
 {
   message m;
 
   m.m1_i1 = fd;
   m.m1_i2 = nbytes;
-  m.m1_p1 = (char *) buffer;
+  m.m1_p1 = (char *) __UNCONST(buffer);
   return(_syscall(VFS_PROC_NR, WRITE, &m));
 }
 
index 0e02e9bf0dc6f8ae84a8d18d629bcdd8c963d886..485c6fb90da70bf122d28224df87d7ef6f7234f7 100644 (file)
@@ -3,7 +3,7 @@
 GCC?=gcc
 CFLAGS= -O0 -D_MINIX -D_POSIX_SOURCE  -g  -Wall -Werror
 .if ${COMPILER_TYPE} == "gnu"
-CFLAGS+= -D_NETBSD_SOURCE
+CFLAGS+= -D_NETBSD_SOURCE -fno-builtin
 LIBS+= -lm -lcompat_minix
 .endif
 CFLAGS-GCC= $(CFLAGS) -Wall  -D_NETBSD_SOURCE 
index b5e8c28e3f5952ec3f4b5c50355af5d63d5c0a88..e38fb1045420402b92020200a410d9a43a197524 100644 (file)
@@ -38,22 +38,22 @@ int main()
 
   if (getpid() == pid)
        if (fork() == 0) {
-               execl("t10a", (char *) 0);
+               execl("t10a", "t10a", (char *) 0);
                exit(0);
        }
   if (getpid() == pid)
        if (fork() == 0) {
-               execl("t10b", (char *) 0);
+               execl("t10b", "t10b", (char *) 0);
                exit(0);
        }
   if (getpid() == pid)
        if (fork() == 0) {
-               execl("t10c", (char *) 0);
+               execl("t10c", "t10c", (char *) 0);
                exit(0);
        }
   if (getpid() == pid)
        if (fork() == 0) {
-               execl("t10d", (char *) 0);
+               execl("t10d", "t10d", (char *) 0);
                exit(0);
        }
 
@@ -77,7 +77,7 @@ int n;
   if ((pid = fork()) != 0) {
        wait(&n);               /* wait for some child (any one) */
   } else {
-       k = execl(name[n], (char *) 0);
+       k = execl(name[n], name[n], (char *) 0);
        errct++;
        printf("Child execl didn't take. file=%s errno=%d\n", name[n], errno);
        rmfiles();
index 1e279cf19c2d095b466475b3749f65177d68c8a8..91ff95d0d08aa49138d52961e646fbe5caefa6e8 100644 (file)
@@ -88,7 +88,7 @@ void test11a()
         * bits on. If a bug lets it unexpectedly succeed, the child
         * will print an error message since the arguments are wrong.
         */
-       execl("t11a", (char *) 0, envp);        /* should fail -- no X bits */
+       execl("t11a", "t11a", (char *) 0); /* should fail -- no X bits */
 
        /* Control should come here after the failed execl(). */
        chmod("t11a", 06555);
index 06d5370e893e2819ef3aae0ebfd2d3fe622e52c8..d9d7836ba3fb6681dc47359e35e249b0233a0019 100644 (file)
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
        test20d();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test20a()
index 0aa5abd78a29022da6c59c541b19ec61c6d7a7b2..b9bf8daade44269e6ec08f27e0d9c62ed1308eb1 100644 (file)
@@ -65,6 +65,8 @@ char *argv[];
        if (m & 020000) test21o();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test21a()
index 4be95d05e1c4daae354f5b43d2c1db3eebef1d30..e6b32d0edbf1ca9d2ea9cb7d133dc29d76906e89 100644 (file)
@@ -37,6 +37,8 @@ int main(int argc, char *argv[])
   }
 
   quit();
+
+  return (-1); /* Unreachable */
 }
 
 void test22a()
index b17bba548b7f321f4e534907d5d7f4e761955175..415faa0048e861e24bbed5dd5c3630603acb0fd3 100644 (file)
@@ -52,6 +52,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test24c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test24a()
index 9c7f539bc1aa2822b0589cf3690eef3d44c8d742..61284f94344c4e624943e36d59432199c328ee72 100644 (file)
@@ -63,6 +63,8 @@ int main(int argc, char *argv[])
        if (m & 020) test25e();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test25a()
index e4e455a8fed52ca7276d6a5076b4950623c840ca..2ce07ed261218af45ade5542839cb6c642245f5a 100644 (file)
@@ -41,6 +41,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test26c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test26a()
index a81b49caae9d5c4a3e21096cea30ad9f60e4ff6a..612e360dfa14661208546d6e5740c785069b01eb 100644 (file)
@@ -47,6 +47,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test27c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test27a()
index 4c81b46083be32fc9063b5ff0d5847f0a564f722..e38ff047603d2ccabb2dc519768d3266d4cc7e8f 100644 (file)
@@ -59,6 +59,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test28c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test28a()
index c797ca6e4f2f4c5f7d8ab9afc4d8e8957c128edf..7948acdea49addcd09b22207578254eea9d36dd8 100644 (file)
@@ -58,6 +58,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test29c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test29a()
index 1ef2b4543108645d8184ba0d7183f4d65c3c625d..374490bca91b8d8d3a99c3d8ded601ebeef85775 100644 (file)
@@ -57,6 +57,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test30c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test30a()
index 48055abae8e558a6c576f6253abe3164dcc8e303..bc8a91325e0926d838e09d3315e8283d376208a9 100644 (file)
@@ -49,6 +49,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test32c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 #define BUF_SIZE 1024
index 7776310c94f4892bc6814335b154516c1ef4fff9..20c65a59884120cd1ed487f9514760d5f10d9879 100644 (file)
@@ -77,6 +77,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test34c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test34a()
index 28876abb8be3cb2920d6ecec9d6f2a434a12d0f5..814b6d29a47ac7cb1e07ee456c686fba62ff2c55 100644 (file)
@@ -102,6 +102,8 @@ char *argv[];
   }
 
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test37a()
index b3616b9cc0f37b43fdc9725b948600aa50a67289..19b75715fa685324cab57c1aa89511477c5cda7b 100644 (file)
@@ -53,6 +53,8 @@ int main(int argc, char *argv[])
        if (m & 0004) test38c();
   }
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void test38a()
index 31d5ee3e1773f439ff0c686c1309399e85ffcf0f..724cee21b03362e725b02403a6d4c7a55f5ea9f1 100644 (file)
@@ -10,7 +10,9 @@ _PROTOTYPE( void test39a, (void)                                              );
 int main(int argc, char *argv[])
 {
   start(39);
+  test39a();
   quit();
+  return(-1);  /* Unreachable */
 }
 
 void test39a()
index d64d5c8497a84a9c46cc28213ab5e858e871995b..5aea904e606205bedf2ea52d1651537f3c88fa60 100644 (file)
@@ -60,6 +60,8 @@ int main(int argc, char *argv[])
   group_test();        /* Perform some tests that mimic actual use */
 
   quit();
+
+  return(-1);  /* Unreachable */
 }
 
 void limit_test() {
index ac2369382e4655caee6a4504bfef7e441a5a4b89..67794aed04458a4bdff22509bb8051796c84ef25 100644 (file)
@@ -276,4 +276,6 @@ int main(void)
 
        /* this was all */
        quit();
+
+       return(-1);     /* Unreachable */
 }
index 05094e2e01fcef3e90194bdb9f2f1ec35ecbb872..4bbeafb474f252828eaeca7906ad3218a0d484f3 100644 (file)
@@ -51,4 +51,5 @@ int main(void)
        start(54);
        do_test();
        quit();
+       return(-1);     /* Unreachable */
 }
index 28d8f2f74bc1f395e513f61a2f17fdcc580e64e2..2af60d44a77dcb177b2cb1ea1b67c48c97f968a0 100644 (file)
@@ -175,6 +175,7 @@ int main(int argc, char* argv[])
   start(58);
   do_test();
   quit();
+  return(-1);  /* Unreachable */
 }
 
 
index 80b0cc73151b06c9d8715253b115569c2fd9af27..a02133b5870baec94dee17a295d8cdb0817a01d3 100644 (file)
@@ -18,7 +18,7 @@
 #include <setjmp.h>
 
 #define ITERATIONS        4
-#define MAX_ERROR 4
+#define MAX_ERROR 3
 #define ITEMS  32
 #define READ   10
 #define WRITE  20
@@ -28,7 +28,9 @@
 
 char buf[ITEMS] = {0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,0,1,2,3,4,5,6,7,8,9};
 
-int subtest, errct, xfd;
+#include "common.c"
+
+int subtes, xfd;
 int whence = SEEK_SET, func_code = F_SETLK;
 extern char **environ;
 
@@ -50,9 +52,7 @@ _PROTOTYPE(void test7j, (void));
 _PROTOTYPE(void cloexec_test, (void));
 _PROTOTYPE(int set, (int how, int first, int last));
 _PROTOTYPE(int locked, (int b));
-_PROTOTYPE(void e, (int n));
 _PROTOTYPE(void sigfunc, (int s));
-_PROTOTYPE(void quit, (void));
 
 int main(argc, argv)
 int argc;
@@ -61,15 +61,10 @@ char *argv[];
 
   int i, m = 0xFFFF;
 
-  sync();
-
   if (argc == 2) m = atoi(argv[1]);
   if (m == 0) cloexec_test();  /* important; do not remove this! */
-  printf("Test  7 ");
-  fflush(stdout);
 
-  system("rm -rf DIR_07; mkdir DIR_07");
-  chdir("DIR_07");
+  start(7);
 
   for (i = 0; i < ITERATIONS; i++) {
        if (m & 00001) timed_test(test7a);
@@ -690,39 +685,8 @@ int b;
   return(WEXITSTATUS(status));
 }
 
-void e(n)
-int n;
-{
-  int err_num = errno;         /* save errno in case printf clobbers it */
-
-  printf("Subtest %d,  error %d  errno=%d  ", subtest, n, errno);
-  fflush(stdout);
-  errno = err_num;             /* restore errno, just in case */
-  perror("");
-  if (errct++ > MAX_ERROR) {
-       printf("Too many errors; test aborted\n");
-       chdir("..");
-       system("rm -rf DIR*");
-       exit(1);
-  }
-}
-
 void sigfunc(s)
 int s;                         /* for ANSI */
 {
 }
 
-void quit()
-{
-
-  chdir("..");
-  system("rm -rf DIR*");
-
-  if (errct == 0) {
-       printf("ok\n");
-       exit(0);
-  } else {
-       printf("%d errors\n", errct);
-       exit(1);
-  }
-}