Replace `long long id' with appropiate types and names, use smaller
limits where applicable and move variable declarations up out of loops.

This makes the code clearer and a tad simpler while staying consistent
across databases.

Feedback? OK?

Index: getent.c
===================================================================
RCS file: /cvs/src/usr.bin/getent/getent.c,v
retrieving revision 1.18
diff -u -p -r1.18 getent.c
--- getent.c    25 Sep 2018 19:51:39 -0000      1.18
+++ getent.c    25 Sep 2018 22:21:22 -0000
@@ -190,8 +190,10 @@ ethers(int argc, char *argv[])
 static int
 group(int argc, char *argv[])
 {
-       int             i, rv = RV_OK;
        struct group    *gr;
+       const char      *err;
+       gid_t           gid;
+       int             i, rv = RV_OK;
 
        setgroupent(1);
        if (argc == 2) {
@@ -199,11 +201,9 @@ group(int argc, char *argv[])
                        GROUPPRINT;
        } else {
                for (i = 2; i < argc; i++) {
-                       const char      *err;
-                       long long id = strtonum(argv[i], 0, UINT_MAX, &err);
-
+                       gid = strtonum(argv[i], 0, GID_MAX, &err);
                        if (!err)
-                               gr = getgrgid((gid_t)id);
+                               gr = getgrgid(gid);
                        else
                                gr = getgrnam(argv[i]);
                        if (gr != NULL)
@@ -291,8 +291,10 @@ hosts(int argc, char *argv[])
 static int
 passwd(int argc, char *argv[])
 {
-       int             i, rv = RV_OK;
        struct passwd   *pw;
+       const char      *err;
+       uid_t           uid;
+       int             i, rv = RV_OK;
 
        setpassent(1);
        if (argc == 2) {
@@ -300,11 +302,9 @@ passwd(int argc, char *argv[])
                        PASSWDPRINT;
        } else {
                for (i = 2; i < argc; i++) {
-                       const char      *err;
-                       long long id = strtonum(argv[i], 0, UINT_MAX, &err);
-
+                       uid = strtonum(argv[i], 0, UID_MAX, &err);
                        if (!err)
-                               pw = getpwuid((uid_t)id);
+                               pw = getpwuid(uid);
                        else
                                pw = getpwnam(argv[i]);
                        if (pw != NULL)
@@ -327,6 +327,8 @@ static int
 protocols(int argc, char *argv[])
 {
        struct protoent *pe;
+       const char      *err;
+       int             proto;
        int             i, rv = RV_OK;
 
        setprotoent(1);
@@ -335,11 +337,9 @@ protocols(int argc, char *argv[])
                        PROTOCOLSPRINT;
        } else {
                for (i = 2; i < argc; i++) {
-                       const char      *err;
-                       long long id = strtonum(argv[i], 0, UINT_MAX, &err);
-
+                       proto = strtonum(argv[i], 0, INT_MAX, &err);
                        if (!err)
-                               pe = getprotobynumber((int)id);
+                               pe = getprotobynumber(proto);
                        else
                                pe = getprotobyname(argv[i]);
                        if (pe != NULL)
@@ -362,6 +362,8 @@ static int
 rpc(int argc, char *argv[])
 {
        struct rpcent   *re;
+       const char      *err;
+       int             rpc;
        int             i, rv = RV_OK;
 
        setrpcent(1);
@@ -370,11 +372,9 @@ rpc(int argc, char *argv[])
                        RPCPRINT;
        } else {
                for (i = 2; i < argc; i++) {
-                       const char      *err;
-                       long long id = strtonum(argv[i], 0, UINT_MAX, &err);
-
+                       rpc = strtonum(argv[i], 0, INT_MAX, &err);
                        if (!err)
-                               re = getrpcbynumber((int)id);
+                               re = getrpcbynumber(rpc);
                        else
                                re = getrpcbyname(argv[i]);
                        if (re != NULL)
@@ -397,6 +397,9 @@ static int
 services(int argc, char *argv[])
 {
        struct servent  *se;
+       const char      *err;
+       char            *proto;
+       int             serv;
        int             i, rv = RV_OK;
 
        setservent(1);
@@ -405,15 +408,11 @@ services(int argc, char *argv[])
                        SERVICESPRINT;
        } else {
                for (i = 2; i < argc; i++) {
-                       const char      *err;
-                       long long       id;
-                       char *proto = strchr(argv[i], '/');
-
-                       if (proto != NULL)
+                       if ((proto = strchr(argv[i], '/')) != NULL)
                                *proto++ = '\0';
-                       id = strtonum(argv[i], 0, UINT_MAX, &err);
+                       serv = strtonum(argv[i], 0, IPPORT_HILASTAUTO, &err);
                        if (!err)
-                               se = getservbyport(htons((u_short)id), proto);
+                               se = getservbyport(htons(serv), proto);
                        else
                                se = getservbyname(argv[i], proto);
                        if (se != NULL)
===================================================================
Stats: --- 25 lines 676 chars
Stats: +++ 24 lines 655 chars
Stats: -1 lines
Stats: -21 chars

Reply via email to