[BACK]Return to login_cap.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libutil

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libutil/login_cap.c between version 1.4 and 1.5

version 1.4, 2000/02/04 02:17:16 version 1.5, 2000/02/10 20:52:54
Line 61  static u_quad_t strtolimit __P((char *, 
Line 61  static u_quad_t strtolimit __P((char *, 
 static  u_quad_t strtosize __P((char *, char **, int));  static  u_quad_t strtosize __P((char *, char **, int));
 static  int gsetrl __P((login_cap_t *, int, char *, int type));  static  int gsetrl __P((login_cap_t *, int, char *, int type));
 static  int setuserenv __P((login_cap_t *));  static  int setuserenv __P((login_cap_t *));
   static  int isinfinite __P((const char *));
   
 login_cap_t *  login_cap_t *
 login_getclass(class)  login_getclass(class)
Line 196  login_getcaptime(lc, cap, def, e)
Line 197  login_getcaptime(lc, cap, def, e)
                 return (e);                  return (e);
         }          }
   
         if (strcasecmp(res, "infinity") == 0)          if (isinfinite(res))
                 return (RLIM_INFINITY);                  return (RLIM_INFINITY);
   
         errno = 0;          errno = 0;
Line 276  login_getcapnum(lc, cap, def, e)
Line 277  login_getcapnum(lc, cap, def, e)
                 return (e);                  return (e);
         }          }
   
         if (strcasecmp(res, "infinity") == 0)          if (isinfinite(res))
                 return (RLIM_INFINITY);                  return (RLIM_INFINITY);
   
         errno = 0;          errno = 0;
Line 491  setuserenv(lc)
Line 492  setuserenv(lc)
                 }                  }
         }          }
   
           free(res);
         return 0;          return 0;
 }  }
   
Line 739  strtolimit(str, endptr, radix)
Line 741  strtolimit(str, endptr, radix)
         char **endptr;          char **endptr;
         int radix;          int radix;
 {  {
         if (strcasecmp(str, "infinity") == 0 || strcasecmp(str, "inf") == 0) {          if (isinfinite(str)) {
                 if (endptr)                  if (endptr)
                         *endptr = str + strlen(str);                          *endptr = str + strlen(str);
                 return ((u_quad_t)RLIM_INFINITY);                  return ((u_quad_t)RLIM_INFINITY);
Line 747  strtolimit(str, endptr, radix)
Line 749  strtolimit(str, endptr, radix)
         return (strtosize(str, endptr, radix));          return (strtosize(str, endptr, radix));
 }  }
   
   static int
   isinfinite(const char *s)
   {
           static const char *infs[] = {
                   "infinity",
                   "inf",
                   "unlimited",
                   "unlimit",
                   NULL
           };
           const char **i;
   
           for(i = infs; *i; i++) {
                   if (!strcasecmp(s, *i))
                           return 1;
           }
           return 0;
   }
   
 static u_quad_t  static u_quad_t
 multiply(n1, n2)  multiply(n1, n2)
         u_quad_t n1;          u_quad_t n1;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

CVSweb <webmaster@jp.NetBSD.org>