Print this page
2989 Eliminate use of LOGNAME_MAX in ON
1166 useradd have warning with name more 8 chars

@@ -18,20 +18,19 @@
  * information: Portions Copyright [yyyy] [name of copyright owner]
  *
  * CDDL HEADER END
  */
 /*
+ * Copyright (c) 2013 Gary Mills
+ *
  * Copyright (c) 1997, by Sun Microsystems, Inc.
  * All rights reserved.
  */
 
 /*      Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
 /*        All Rights Reserved   */
 
-
-#pragma ident   "%Z%%M% %I%     %E% SMI"        /* SVr4.0 1.3 */
-
 /*LINTLIBRARY*/
 
 #include        <sys/types.h>
 #include        <stdio.h>
 #include        <ctype.h>

@@ -66,16 +65,15 @@
                         badc++;
                 if (islower(c))
                         clower++;
         }
 
-        /*
-         * XXX length checking causes some operational/compatibility problem.
-         * This has to be revisited in the future as ARC/standards issue.
-         */
-        if (len > LOGNAME_MAX)
-                *warning = *warning | WARN_NAME_TOO_LONG;
+#ifdef  LOGNAME_MAX_ILLUMOS
+        if (len > LOGNAME_MAX_ILLUMOS)
+                return (LONGNAME);
+#endif /* LOGNAME_MAX_ILLUMOS */
+
         if (clower == 0)
                 *warning = *warning | WARN_NO_LOWERCHAR;
         if (badc != 0)
                 *warning = *warning | WARN_BAD_LOGNAME_CHAR;
         if (bad1char != 0)