summaryrefslogtreecommitdiff
path: root/usr/src/cmd/ttymon/tmpmtab.c
diff options
context:
space:
mode:
authorToomas Soome <tsoome@me.com>2022-03-27 19:29:25 +0300
committerToomas Soome <tsoome@me.com>2022-05-17 00:38:35 +0300
commit3bb2c1567625e7b11f8c2a5335125224717af64a (patch)
treed0024ff545db4cf94b25ac072a00218156e8f894 /usr/src/cmd/ttymon/tmpmtab.c
parent08ae0f1eeaa2952f05e6cc3e67da55db918f8e4a (diff)
downloadillumos-gate-3bb2c1567625e7b11f8c2a5335125224717af64a.tar.gz
14602 ttymon: cleanup
Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Yuri Pankov <ypankov@tintri.com> Approved by: Robert Mustacchi <rm@fingolfin.org>
Diffstat (limited to 'usr/src/cmd/ttymon/tmpmtab.c')
-rw-r--r--usr/src/cmd/ttymon/tmpmtab.c454
1 files changed, 218 insertions, 236 deletions
diff --git a/usr/src/cmd/ttymon/tmpmtab.c b/usr/src/cmd/ttymon/tmpmtab.c
index 80a1f4a6cd..1bdddb946a 100644
--- a/usr/src/cmd/ttymon/tmpmtab.c
+++ b/usr/src/cmd/ttymon/tmpmtab.c
@@ -24,67 +24,58 @@
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
-/* All Rights Reserved */
-
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
+/* All Rights Reserved */
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <ctype.h>
#include <string.h>
-#include <pwd.h>
-#include <grp.h>
+#include <pwd.h>
+#include <grp.h>
#include <signal.h>
#include "ttymon.h"
#include "tmstruct.h"
#include "tmextern.h"
-extern char *strsave();
-extern void set_softcar();
-extern int vml();
-void purge();
-static int get_flags();
-static int get_ttyflags();
-static int same_entry();
-static int check_pmtab();
-static void insert_pmtab();
-static void free_pmtab();
-static char *expand();
-
-int check_identity();
+static int get_flags(char *, long *);
+static int get_ttyflags(char *, long *);
+static int same_entry(struct pmtab *, struct pmtab *);
+static int check_pmtab(struct pmtab *);
+static void insert_pmtab(struct pmtab *);
+static void free_pmtab(struct pmtab *);
+static char *expand(char *, char *);
-int strcheck();
+int check_identity(struct pmtab *);
/*
- * read_pmtab()
- * - read and parse pmtab
+ * read_pmtab()
+ * - read and parse pmtab
* - store table in linked list pointed by global variable "PMtab"
* - exit if file does not exist or error detected.
*/
void
-read_pmtab()
+read_pmtab(void)
{
- register struct pmtab *gptr;
- register char *ptr, *wptr;
- FILE *fp;
- int input, state, size, rawc, field, linenum;
- char oldc;
- char line[BUFSIZ];
- char wbuf[BUFSIZ];
- static char *states[] = {
- "","tag","flags","identity","reserved1","reserved2","reserved3",
- "device","ttyflags","count","service", "timeout","ttylabel",
- "modules","prompt","disable msg","terminal type","soft-carrier"
+ struct pmtab *gptr;
+ char *ptr, *wptr;
+ FILE *fp;
+ int input, state, size, rawc, field, linenum;
+ char oldc;
+ char line[BUFSIZ];
+ char wbuf[BUFSIZ];
+ static char *states[] = {
+ "", "tag", "flags", "identity", "reserved1", "reserved2",
+ "reserved3", "device", "ttyflags", "count", "service", "timeout",
+ "ttylabel", "modules", "prompt", "disable msg", "terminal type",
+ "soft-carrier"
};
-# ifdef DEBUG
+#ifdef DEBUG
debug("in read_pmtab");
-# endif
+#endif
- if ((fp = fopen(PMTABFILE,"r")) == NULL) {
+ if ((fp = fopen(PMTABFILE, "r")) == NULL) {
fatal("open pmtab (%s) failed", PMTABFILE);
}
@@ -97,7 +88,7 @@ read_pmtab()
(gptr->p_status == LOCKED) ||
(gptr->p_status == UNACCESS)) {
if (gptr->p_fd > 0) {
- (void)close(gptr->p_fd);
+ (void) close(gptr->p_fd);
gptr->p_fd = 0;
}
gptr->p_inservice = gptr->p_status;
@@ -108,11 +99,13 @@ read_pmtab()
wptr = wbuf;
input = ACTIVE;
linenum = 0;
+ field = FAILURE;
do {
linenum++;
line[0] = '\0';
- for (ptr= line,oldc = '\0'; ptr < &line[sizeof(line)-1] &&
- (rawc=getc(fp))!= '\n' && rawc != EOF; ptr++,oldc=(char)rawc){
+ for (ptr = line, oldc = '\0'; ptr < &line[sizeof (line) - 1] &&
+ (rawc = getc(fp)) != '\n' && rawc != EOF;
+ ptr++, oldc = (char)rawc) {
if ((rawc == '#') && (oldc != '\\'))
break;
*ptr = (char)rawc;
@@ -121,21 +114,24 @@ read_pmtab()
/* skip rest of the line */
if (rawc != EOF && rawc != '\n') {
- if (rawc != '#')
+ if (rawc != '#')
log("Entry too long.\n");
- while ((rawc = getc(fp)) != EOF && rawc != '\n')
+ while ((rawc = getc(fp)) != EOF && rawc != '\n')
;
}
if (rawc == EOF) {
- if (ptr == line) break;
- else input = FINISHED;
+ if (ptr == line)
+ break;
+ else
+ input = FINISHED;
}
/* if empty line, skip */
- for (ptr=line; *ptr != '\0' && isspace(*ptr); ptr++)
+ for (ptr = line; *ptr != '\0' && isspace(*ptr); ptr++)
;
- if (*ptr == '\0') continue;
+ if (*ptr == '\0')
+ continue;
#ifdef DEBUG
debug("**** Next Entry ****\n%s", line);
@@ -144,7 +140,7 @@ read_pmtab()
/* Now we have the complete line */
- if ((gptr = ALLOC_PMTAB) == PNULL)
+ if ((gptr = ALLOC_PMTAB) == NULL)
fatal("memory allocation failed");
/* set hangup flag, this is the default */
@@ -157,97 +153,109 @@ read_pmtab()
gptr->p_termtype = "";
gptr->p_softcar = "";
- for (state=P_TAG,ptr=line;state !=FAILURE && state !=SUCCESS;) {
- switch(state) {
+ for (state = P_TAG, ptr = line; state != FAILURE &&
+ state != SUCCESS;) {
+ switch (state) {
case P_TAG:
- gptr->p_tag = strsave(getword(ptr,&size,0));
+ gptr->p_tag = strsave(getword(ptr, &size, 0));
break;
case P_FLAGS:
- (void)strcpy(wptr, getword(ptr,&size,0));
+ (void) strcpy(wptr, getword(ptr, &size, 0));
if ((get_flags(wptr, &gptr->p_flags)) != 0) {
field = state;
state = FAILURE;
}
break;
case P_IDENTITY:
- gptr->p_identity=strsave(getword(ptr,&size,0));
+ gptr->p_identity = strsave(
+ getword(ptr, &size, 0));
break;
case P_RES1:
- gptr->p_res1=strsave(getword(ptr,&size,0));
+ gptr->p_res1 = strsave(getword(ptr, &size, 0));
break;
case P_RES2:
- gptr->p_res2=strsave(getword(ptr,&size,0));
+ gptr->p_res2 = strsave(getword(ptr, &size, 0));
break;
case P_RES3:
- gptr->p_res3=strsave(getword(ptr,&size,0));
+ gptr->p_res3 = strsave(getword(ptr, &size, 0));
break;
case P_DEVICE:
- gptr->p_device = strsave(getword(ptr,&size,0));
+ gptr->p_device = strsave(
+ getword(ptr, &size, 0));
break;
case P_TTYFLAGS:
- (void)strcpy(wptr, getword(ptr,&size,0));
- if ((get_ttyflags(wptr,&gptr->p_ttyflags))!=0) {
+ (void) strcpy(wptr, getword(ptr, &size, 0));
+ if (get_ttyflags(wptr,
+ &gptr->p_ttyflags) != 0) {
field = state;
state = FAILURE;
}
break;
case P_COUNT:
- (void)strcpy(wptr, getword(ptr,&size,0));
+ (void) strcpy(wptr, getword(ptr, &size, 0));
if (strcheck(wptr, NUM) != 0) {
- log("wait_read count must be a positive number");
+ log("wait_read count must be a "
+ "positive number");
field = state;
state = FAILURE;
+ } else {
+ gptr->p_count = atoi(wptr);
}
- else
- gptr->p_count = atoi(wptr);
break;
case P_SERVER:
- gptr->p_server =
- strsave(expand(getword(ptr,&size,1),
- gptr->p_device));
+ gptr->p_server =
+ strsave(expand(getword(ptr, &size, 1),
+ gptr->p_device));
break;
case P_TIMEOUT:
- (void)strcpy(wptr, getword(ptr,&size,0));
+ (void) strcpy(wptr, getword(ptr, &size, 0));
if (strcheck(wptr, NUM) != 0) {
- log("timeout value must be a positive number");
+ log("timeout value must be a positive "
+ "number");
field = state;
state = FAILURE;
+ } else {
+ gptr->p_timeout = atoi(wptr);
}
- else
- gptr->p_timeout = atoi(wptr);
break;
case P_TTYLABEL:
- gptr->p_ttylabel=strsave(getword(ptr,&size,0));
+ gptr->p_ttylabel = strsave(getword(ptr,
+ &size, 0));
break;
case P_MODULES:
- gptr->p_modules = strsave(getword(ptr,&size,0));
+ gptr->p_modules = strsave(getword(ptr,
+ &size, 0));
if (vml(gptr->p_modules) != 0) {
field = state;
state = FAILURE;
}
break;
case P_PROMPT:
- gptr->p_prompt = strsave(getword(ptr,&size,TRUE));
+ gptr->p_prompt = strsave(getword(ptr, &size,
+ TRUE));
break;
case P_DMSG:
- gptr->p_dmsg = strsave(getword(ptr,&size,TRUE));
+ gptr->p_dmsg = strsave(getword(ptr, &size,
+ TRUE));
break;
case P_TERMTYPE:
- gptr->p_termtype = strsave(getword(ptr,&size,TRUE));
+ gptr->p_termtype = strsave(getword(ptr,
+ &size, TRUE));
break;
case P_SOFTCAR:
- gptr->p_softcar = strsave(getword(ptr,&size,TRUE));
+ gptr->p_softcar = strsave(getword(ptr,
+ &size, TRUE));
break;
} /* end switch */
ptr += size;
- if (state == FAILURE)
+ if (state == FAILURE)
break;
if (*ptr == ':') {
ptr++; /* Skip the ':' */
- state++ ;
+ state++;
} else if (*ptr != '\0') {
field = state;
state = FAILURE;
@@ -258,7 +266,7 @@ read_pmtab()
* pmtab files. If Sun-added fields are
* missing, this should not be an error.
*/
- if (state > P_DMSG) {
+ if (state > P_DMSG) {
state = SUCCESS;
} else {
field = state;
@@ -269,19 +277,19 @@ read_pmtab()
if (state == SUCCESS) {
if (check_pmtab(gptr) == 0) {
- if (Nentries < Maxfds)
+ if (Nentries < Maxfds) {
insert_pmtab(gptr);
- else {
+ } else {
log("can't add more entries to "
"pmtab, Maxfds = %d", Maxfds);
free_pmtab(gptr);
- (void)fclose(fp);
+ (void) fclose(fp);
return;
}
- }
- else {
+ } else {
log("Parsing failure for entry: \n%s", line);
- log("-------------------------------------------");
+ log("----------------------------------------"
+ "---");
free_pmtab(gptr);
}
} else {
@@ -293,19 +301,16 @@ read_pmtab()
}
} while (input == ACTIVE);
- (void)fclose(fp);
- return;
+ (void) fclose(fp);
}
/*
* get_flags - scan flags field to set U_FLAG and X_FLAG
*/
static int
-get_flags(wptr, flags)
-char *wptr; /* pointer to the input string */
-long *flags; /* pointer to the flag to set */
+get_flags(char *wptr, long *flags)
{
- register char *p;
+ char *p;
for (p = wptr; *p; p++) {
switch (*p) {
case 'x':
@@ -316,21 +321,21 @@ long *flags; /* pointer to the flag to set */
break;
default:
log("Invalid flag -- %c", *p);
- return(-1);
- }
+ return (-1);
+ }
}
- return(0);
+ return (0);
}
/*
* get_ttyflags - scan ttyflags field to set corresponding flags
+ * char *wptr pointer to the input string
+ * long *ttyflags pointer to the flag to be set
*/
static int
-get_ttyflags(wptr, ttyflags)
-char *wptr; /* pointer to the input string */
-long *ttyflags; /* pointer to the flag to be set*/
+get_ttyflags(char *wptr, long *ttyflags)
{
- register char *p;
+ char *p;
for (p = wptr; *p; p++) {
switch (*p) {
case 'c':
@@ -350,26 +355,26 @@ long *ttyflags; /* pointer to the flag to be set*/
break;
default:
log("Invalid ttyflag -- %c", *p);
- return(-1);
- }
+ return (-1);
+ }
}
- return(0);
+ return (0);
}
-# ifdef DEBUG
+#ifdef DEBUG
/*
* pflags - put service flags into intelligible form for output
+ * long flags - binary representation of the flags
*/
char *
-pflags(flags)
-long flags; /* binary representation of the flags */
+pflags(long flags)
{
- register int i; /* scratch counter */
+ int i; /* scratch counter */
static char buf[BUFSIZ]; /* formatted flags */
if (flags == 0)
- return("-");
+ return ("-");
i = 0;
if (flags & U_FLAG) {
buf[i++] = 'u';
@@ -382,28 +387,28 @@ long flags; /* binary representation of the flags */
if (flags)
log("Internal error in pflags");
buf[i] = '\0';
- return(buf);
+ return (buf);
}
/*
* pttyflags - put ttyflags into intelligible form for output
+ * long flags - binary representation of ttyflags
*/
char *
-pttyflags(flags)
-long flags; /* binary representation of ttyflags */
+pttyflags(long flags)
{
- register int i; /* scratch counter */
+ int i; /* scratch counter */
static char buf[BUFSIZ]; /* formatted flags */
if (flags == 0)
- return("h");
+ return ("h");
i = 0;
if (flags & C_FLAG) {
buf[i++] = 'c';
flags &= ~C_FLAG;
}
- if (flags & H_FLAG)
+ if (flags & H_FLAG)
flags &= ~H_FLAG;
else
buf[i++] = 'h';
@@ -422,27 +427,27 @@ long flags; /* binary representation of ttyflags */
if (flags)
log("Internal error in p_ttyflags");
buf[i] = '\0';
- return(buf);
+ return (buf);
}
void
-dump_pmtab()
+dump_pmtab(void)
{
struct pmtab *gptr;
debug("in dump_pmtab");
log("********** dumping pmtab **********");
log(" ");
- for (gptr=PMtab; gptr; gptr = gptr->p_next) {
+ for (gptr = PMtab; gptr != NULL; gptr = gptr->p_next) {
log("-------------------------------------------");
log("tag:\t\t%s", gptr->p_tag);
- log("flags:\t\t%s",pflags(gptr->p_flags));
+ log("flags:\t\t%s", pflags(gptr->p_flags));
log("identity:\t%s", gptr->p_identity);
log("reserved1:\t%s", gptr->p_res1);
log("reserved2:\t%s", gptr->p_res2);
log("reserved3:\t%s", gptr->p_res3);
log("device:\t%s", gptr->p_device);
- log("ttyflags:\t%s",pttyflags(gptr->p_ttyflags));
+ log("ttyflags:\t%s", pttyflags(gptr->p_ttyflags));
log("count:\t\t%d", gptr->p_count);
log("server:\t%s", gptr->p_server);
log("timeout:\t%d", gptr->p_timeout);
@@ -455,7 +460,7 @@ dump_pmtab()
log("status:\t\t%d", gptr->p_status);
log("inservice:\t%d", gptr->p_inservice);
log("fd:\t\t%d", gptr->p_fd);
- log("pid:\t\t%ld", gptr->p_pid);
+ log("pid:\t\t%ld", gptr->p_childpid);
log("uid:\t\t%ld", gptr->p_uid);
log("gid:\t\t%ld", gptr->p_gid);
log("dir:\t%s", gptr->p_dir);
@@ -463,61 +468,60 @@ dump_pmtab()
}
log("********** end dumping pmtab **********");
}
-# endif
+#endif
/*
* same_entry(e1,e2) - compare 2 entries of pmtab
* if the fields are different, copy e2 to e1
- * return 1 if same, return 0 if different
+ * return 1 if same, return 0 if different
*/
static int
-same_entry(e1,e2)
-struct pmtab *e1,*e2;
+same_entry(struct pmtab *e1, struct pmtab *e2)
{
if (strcmp(e1->p_identity, e2->p_identity) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_res1, e2->p_res1) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_res2, e2->p_res2) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_res3, e2->p_res3) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_device, e2->p_device) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_server, e2->p_server) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_ttylabel, e2->p_ttylabel) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_modules, e2->p_modules) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_prompt, e2->p_prompt) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_dmsg, e2->p_dmsg) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_termtype, e2->p_termtype) != 0)
- return(0);
+ return (0);
if (strcmp(e1->p_softcar, e2->p_softcar) != 0)
- return(0);
+ return (0);
if (e1->p_flags != e2->p_flags)
- return(0);
+ return (0);
/*
- * compare lowest 4 bits only,
+ * compare lowest 4 bits only,
* because A_FLAG is not part of original ttyflags
*/
if ((e1->p_ttyflags & ~A_FLAG) != (e2->p_ttyflags & ~A_FLAG))
- return(0);
+ return (0);
if (e1->p_count != e2->p_count)
- return(0);
+ return (0);
if (e1->p_timeout != e2->p_timeout)
- return(0);
+ return (0);
if (e1->p_uid != e2->p_uid)
- return(0);
+ return (0);
if (e1->p_gid != e2->p_gid)
- return(0);
+ return (0);
if (strcmp(e1->p_dir, e2->p_dir) != 0)
- return(0);
- return(1);
+ return (0);
+ return (1);
}
@@ -526,15 +530,14 @@ struct pmtab *e1,*e2;
*/
static void
-insert_pmtab(sp)
-register struct pmtab *sp; /* ptr to entry to be inserted */
+insert_pmtab(struct pmtab *sp)
{
- register struct pmtab *tsp, *savtsp; /* scratch pointers */
+ struct pmtab *tsp, *savtsp; /* scratch pointers */
int ret; /* strcmp return value */
-# ifdef DEBUG
+#ifdef DEBUG
debug("in insert_pmtab");
-# endif
+#endif
savtsp = tsp = PMtab;
/*
@@ -548,41 +551,38 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
savtsp = tsp;
tsp = tsp->p_next;
continue;
- }
- else if (ret == 0) {
+ } else if (ret == 0) {
if (tsp->p_status) {
/* this is a duplicate entry, ignore it */
log("Ignoring duplicate entry for <%s>",
tsp->p_tag);
- }
- else {
- if (same_entry(tsp,sp)) { /* same entry */
+ } else {
+ if (same_entry(tsp, sp)) { /* same entry */
tsp->p_status = VALID;
- }
- else { /* entry changed */
- if ((sp->p_flags & X_FLAG) &&
- ((sp->p_dmsg == NULL) ||
- (*(sp->p_dmsg) == '\0'))) {
+ } else { /* entry changed */
+ if ((sp->p_flags & X_FLAG) &&
+ ((sp->p_dmsg == NULL) ||
+ (*(sp->p_dmsg) == '\0'))) {
/* disabled entry */
tsp->p_status = NOTVALID;
- }
- else {
-# ifdef DEBUG
- debug("replacing <%s>", sp->p_tag);
-# endif
+ } else {
+#ifdef DEBUG
+ debug("replacing <%s>",
+ sp->p_tag);
+#endif
/* replace old entry */
sp->p_next = tsp->p_next;
if (tsp == PMtab) {
- PMtab = sp;
- }
- else {
- savtsp->p_next = sp;
+ PMtab = sp;
+ } else {
+ savtsp->p_next = sp;
}
sp->p_status = CHANGED;
sp->p_fd = tsp->p_fd;
- sp->p_pid = tsp->p_pid;
- sp->p_inservice =
- tsp->p_inservice;
+ sp->p_childpid =
+ tsp->p_childpid;
+ sp->p_inservice =
+ tsp->p_inservice;
sp = tsp;
}
}
@@ -590,11 +590,10 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
}
free_pmtab(sp);
return;
- }
- else {
- if ((sp->p_flags & X_FLAG) &&
- ((sp->p_dmsg == NULL) ||
- (*(sp->p_dmsg) == '\0'))) { /* disabled entry */
+ } else {
+ if ((sp->p_flags & X_FLAG) &&
+ ((sp->p_dmsg == NULL) ||
+ (*(sp->p_dmsg) == '\0'))) { /* disabled entry */
free_pmtab(sp);
return;
}
@@ -611,14 +610,13 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
if (tsp == PMtab) {
sp->p_next = PMtab;
PMtab = sp;
- }
- else {
+ } else {
sp->p_next = savtsp->p_next;
savtsp->p_next = sp;
}
-# ifdef DEBUG
+#ifdef DEBUG
debug("adding <%s>", sp->p_tag);
-# endif
+#endif
Nentries++;
/* this entry is "current" */
sp->p_status = VALID;
@@ -630,9 +628,9 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
* either an empty list or should put element at end of list
*/
- if ((sp->p_flags & X_FLAG) &&
- ((sp->p_dmsg == NULL) ||
- (*(sp->p_dmsg) == '\0'))) { /* disabled entry */
+ if ((sp->p_flags & X_FLAG) &&
+ ((sp->p_dmsg == NULL) ||
+ (*(sp->p_dmsg) == '\0'))) { /* disabled entry */
free_pmtab(sp); /* do not poll this entry */
return;
}
@@ -649,9 +647,9 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
PMtab = sp;
else
savtsp->p_next = sp;
-# ifdef DEBUG
+#ifdef DEBUG
debug("adding <%s>", sp->p_tag);
-# endif
+#endif
++Nentries;
/* this entry is "current" */
sp->p_status = VALID;
@@ -661,37 +659,34 @@ register struct pmtab *sp; /* ptr to entry to be inserted */
/*
* purge - purge linked list of "old" entries
*/
-
-
void
-purge()
+purge(void)
{
- register struct pmtab *sp; /* working pointer */
- register struct pmtab *savesp, *tsp; /* scratch pointers */
+ struct pmtab *sp; /* working pointer */
+ struct pmtab *savesp, *tsp; /* scratch pointers */
-# ifdef DEBUG
+#ifdef DEBUG
debug("in purge");
-# endif
+#endif
sp = savesp = PMtab;
while (sp) {
if (sp->p_status) {
-# ifdef DEBUG
+#ifdef DEBUG
debug("p_status not 0");
-# endif
+#endif
savesp = sp;
sp = sp->p_next;
- }
- else {
+ } else {
tsp = sp;
if (tsp == PMtab) {
PMtab = sp->p_next;
savesp = PMtab;
- }
- else
+ } else {
savesp->p_next = sp->p_next;
-# ifdef DEBUG
+ }
+#ifdef DEBUG
debug("purging <%s>", sp->p_tag);
-# endif
+#endif
sp = sp->p_next;
free_pmtab(tsp);
}
@@ -702,8 +697,7 @@ purge()
* free_pmtab - free one pmtab entry
*/
static void
-free_pmtab(p)
-struct pmtab *p;
+free_pmtab(struct pmtab *p)
{
#ifdef DEBUG
debug("in free_pmtab");
@@ -721,8 +715,7 @@ struct pmtab *p;
free(p->p_dmsg);
free(p->p_termtype);
free(p->p_softcar);
- if (p->p_dir)
- free(p->p_dir);
+ free(p->p_dir);
free(p);
}
@@ -731,81 +724,73 @@ struct pmtab *p;
* - return 0 if everything is ok
* - return -1 if something is wrong
*/
-
static int
-check_pmtab(p)
-struct pmtab *p;
+check_pmtab(struct pmtab *p)
{
if (p == NULL) {
log("pmtab ptr is NULL");
- return(-1);
+ return (-1);
}
/* check service tag */
if ((p->p_tag == NULL) || (*(p->p_tag) == '\0')) {
log("port/service tag is missing");
- return(-1);
+ return (-1);
}
if (strlen(p->p_tag) > (size_t)(MAXID - 1)) {
log("port/service tag <%s> is longer than %d", p->p_tag,
MAXID-1);
- return(-1);
+ return (-1);
}
if (strcheck(p->p_tag, ALNUM) != 0) {
log("port/service tag <%s> is not alphanumeric", p->p_tag);
- return(-1);
+ return (-1);
}
if (check_identity(p) != 0) {
- return(-1);
+ return (-1);
}
if (check_device(p->p_device) != 0)
- return(-1);
+ return (-1);
if (check_cmd(p->p_server) != 0)
- return(-1);
- return(0);
+ return (-1);
+ return (0);
}
-extern struct passwd *getpwnam();
-extern void endpwent();
-extern struct group *getgrgid();
-extern void endgrent();
-
/*
- * check_identity - check to see if the identity is a valid user
- * - log name in the passwd file,
- * - and if its group id is a valid one
- * - return 0 if everything is ok. Otherwise, return -1
+ * check_identity - check to see if the identity is a valid user
+ * - log name in the passwd file,
+ * - and if its group id is a valid one
+ * - return 0 if everything is ok. Otherwise, return -1
*/
int
-check_identity(p)
-struct pmtab *p;
+check_identity(struct pmtab *p)
{
- register struct passwd *pwdp;
+ struct passwd *pwdp;
if ((p->p_identity == NULL) || (*(p->p_identity) == '\0')) {
log("identity field is missing");
- return(-1);
+ return (-1);
}
if ((pwdp = getpwnam(p->p_identity)) == NULL) {
log("missing or bad passwd entry for <%s>", p->p_identity);
endpwent();
- return(-1);
+ return (-1);
}
if (getgrgid(pwdp->pw_gid) == NULL) {
log("no group entry for %ld", pwdp->pw_gid);
endgrent();
endpwent();
- return(-1);
+ return (-1);
}
p->p_uid = pwdp->pw_uid;
p->p_gid = pwdp->pw_gid;
p->p_dir = strsave(pwdp->pw_dir);
endgrent();
endpwent();
- return(0);
+ return (0);
}
/*
@@ -814,11 +799,9 @@ struct pmtab *p;
* - return the expanded string
*/
static char *
-expand(cmdp,devp)
-char *cmdp; /* ptr to cmd string */
-char *devp; /* ptr to device name */
+expand(char *cmdp, char *devp)
{
- register char *cp, *dp, *np;
+ char *cp, *dp, *np;
static char buf[BUFSIZ];
cp = cmdp;
np = buf;
@@ -844,6 +827,5 @@ char *devp; /* ptr to device name */
}
}
*np = '\0';
- return(buf);
+ return (buf);
}
-