Assuming we want to make this a non-fatal error the following should
do.

 - todd

Index: usr.sbin/user/user.c
===================================================================
RCS file: /home/cvs/openbsd/src/usr.sbin/user/user.c,v
retrieving revision 1.95
diff -u -r1.95 user.c
--- usr.sbin/user/user.c        2 Apr 2013 05:04:47 -0000       1.95
+++ usr.sbin/user/user.c        31 Aug 2013 12:20:40 -0000
@@ -288,20 +288,20 @@
 {
        struct dirent   *dp;
        DIR             *dirp;
-       int             n;
+       int             n = 0;
 
        if ((dirp = opendir(skeldir)) == NULL) {
                warn("can't open source . files dir `%s'", skeldir);
-               return 0;
-       }
-       for (n = 0; (dp = readdir(dirp)) != NULL && n == 0 ; ) {
-               if (strcmp(dp->d_name, ".") == 0 ||
-                   strcmp(dp->d_name, "..") == 0) {
-                       continue;
+       } else {
+               while ((dp = readdir(dirp)) != NULL) {
+                       if (strcmp(dp->d_name, ".") != 0 &&
+                           strcmp(dp->d_name, "..") != 0) {
+                               n = 1;
+                               break;
+                       }
                }
-               n = 1;
+               (void) closedir(dirp);
        }
-       (void) closedir(dirp);
        if (n == 0) {
                warnx("No \"dot\" initialisation files found");
        } else {

Reply via email to