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