#include "defines.h"
#include "chkname.h"
+#include "string/strcmp/streq.h"
int allow_bad_names = false;
numeric = isdigit(*name);
- while ('\0' != *++name) {
+ while (!streq(++name, "")) {
if (!((*name >= 'a' && *name <= 'z') ||
(*name >= 'A' && *name <= 'Z') ||
(*name >= '0' && *name <= '9') ||
#include "prototypes.h"
#include "string/strchr/stpspn.h"
#include "string/strchr/strrspn.h"
+#include "string/strcmp/streq.h"
#include "string/strtok/stpsep.h"
}
/* Search if there are non-printable or control characters */
- for (cp = field; '\0' != *cp; cp++) {
+ for (cp = field; !streq(cp, ""); cp++) {
unsigned char c = *cp;
if (!isprint (c)) {
err = 1;
if (stpsep(newf, "\n") == NULL)
return;
- if ('\0' != newf[0]) {
+ if (!streq(newf, "")) {
/*
* Remove leading and trailing whitespace. This also
* makes it possible to change the field to empty, by
#include "defines.h"
#include "prototypes.h"
-
-#ident "$Id$"
+#include "string/strcmp/streq.h"
/*@null@*/char *
{
int i;
- for (i = 0; '\0' != *s; i++, s++) {
+ for (i = 0; !streq(s, ""); i++, s++) {
if (putc (*s, stream) == EOF) {
return EOF;
}
bool abbrev;
/* Make it lowercase. */
- for (p = buff; '\0' != *p; p++)
+ for (p = buff; !streq(p, ""); p++)
if (isupper (*p))
*p = tolower (*p);
}
/* Drop out any periods and try the timezone table again. */
- for (i = 0, p = q = buff; '\0' != *q; q++)
+ for (i = 0, p = q = buff; !streq(q, ""); q++)
if (*q != '.')
*p++ = *q;
else
l = XMALLOC(strchrcnt(s, ',') + 2, char *);
- for (i = 0; s != NULL && *s != '\0'; i++)
+ for (i = 0; s != NULL && !streq(s, ""); i++)
l[i] = strsep(&s, ",");
l[i] = NULL;
pp = "A- C- D- F- I- L- M- N- O- P- R- S- T- U-";
}
- while ('\0' != *pp) {
+ while (!streq(pp, "")) {
switch (*pp++) {
case 'a':
case 'A':
#ident "$Id$"
-#include "defines.h"
#include <pwd.h>
+
+#include "defines.h"
#include "prototypes.h"
+#include "string/strcmp/streq.h"
+
+
/*@null@*/ /*@only@*/struct passwd *get_my_pwent (void)
{
struct passwd *pw;
* XXX - when running from su, will return the current user (not
* the original user, like getlogin() does). Does this matter?
*/
- if ((NULL != cp) && ('\0' != *cp)) {
+ if ((NULL != cp) && !streq(cp, "")) {
pw = xgetpwnam (cp);
if ((NULL != pw) && (pw->pw_uid == ruid)) {
return pw;
continue;
p = &line[6];
p = stpspn(p, " \t\n");
- if (*p != '\0')
+ if (!streq(p, ""))
break;
p = NULL;
}
{
char *cp;
- for (cp = string; '\0' != *cp; cp++) {
+ for (cp = string; !streq(cp, ""); cp++) {
*cp = tolower (*cp);
}
return string;
{
const char *orig = port;
- while (('\0' != *pattern) && (*pattern == *port)) {
+ while (!streq(pattern, "") && (*pattern == *port)) {
pattern++;
port++;
}
* Get the next comma separated entry
*/
- for (j = 0; ('\0' != *cp) && (j < PORT_TIMES); j++) {
+ for (j = 0; !streq(cp, "") && (j < PORT_TIMES); j++) {
/*
* Start off with no days of the week
s++;
}
s = stpspn(s, " ");
- while (isnum && ('\0' != *s)) {
+ while (isnum && !streq(s, "")) {
if (!isdigit (*s)) {
isnum = false;
}
break;
}
}
- if ((feof (fp) == 0) && (ferror (fp) == 0) && (type[0] != '\0')) {
+ if ((feof(fp) == 0) && (ferror(fp) == 0) && !streq(type, "")) {
addenv ("TERM", type);
}
- if (NULL != host && '\0' != host[0])
+ if (NULL != host && !streq(host, ""))
hostname = xstrdup(host);
#if defined(HAVE_STRUCT_UTMPX_UT_HOST)
else if (NULL != ut && '\0' != ut->ut_host[0])
break;
if (NULL != extra) {
- if ('\0' != extra[0]) {
+ if (!streq(extra, "")) {
strcat (extra, ",");
}
* Anything left over is "slop".
*/
if ((NULL != cp) && !oflg) {
- if ('\0' != slop[0]) {
+ if (!streq(slop, "")) {
strcat (slop, ",");
}
}
SNPRINTF(new_gecos, "%s,%s,%s,%s%s%s",
fullnm, roomno, workph, homeph,
- ('\0' != slop[0]) ? "," : "", slop);
+ (!streq(slop, "")) ? "," : "", slop);
/* Rewrite the user's gecos in the passwd file */
update_gecos (user, new_gecos);
tmpusers = dup = xstrdup(users);
- while (NULL != tmpusers && '\0' != *tmpusers) {
+ while (NULL != tmpusers && !streq(tmpusers, "")) {
const char *u;
u = strsep(&tmpusers, ",");
const char *failent_user = "UNKNOWN";
bool log_unkfail_enab = getdef_bool("LOG_UNKFAIL_ENAB");
- if ((NULL != user) && ('\0' != user[0])) {
+ if ((NULL != user) && !streq(user, "")) {
if ( log_unkfail_enab
|| (getpwnam (user) != NULL)) {
failent_user = user;
if (hflg) {
cp = hostname;
- } else if ((host != NULL) && (host[0] != '\0')) {
+ } else if ((host != NULL) && !streq(host, "")) {
cp = host;
} else {
cp = "";
}
- if ('\0' != *cp) {
+ if (!streq(cp, "")) {
SNPRINTF(fromhost, " on '%.100s' from '%.200s'", tty, cp);
} else {
SNPRINTF(fromhost, " on '%.100s'", tty);
failed = true;
}
if ( !failed
- && !login_access (username, ('\0' != *hostname) ? hostname : tty)) {
+ && !login_access(username, (!streq(hostname, "")) ? hostname : tty)) {
SYSLOG ((LOG_WARN, "LOGIN '%s' REFUSED %s",
username, fromhost));
failed = true;
if (strchr (string, '.') == NULL) {
return true;
}
- } else if ( (tok[0] != '\0' && tok[(tok_len = strlen (tok)) - 1] == '.') /* network */
+ } else if ( (!streq(tok, "") && tok[(tok_len = strlen(tok)) - 1] == '.') /* network */
&& (strncmp (tok, resolve_hostname (string), tok_len) == 0)) {
return true;
}
spw_free (spwd);
}
- if (streq(pwd->pw_passwd, "") && (grp->gr_passwd[0] != '\0')) {
+ if (streq(pwd->pw_passwd, "") && !streq(grp->gr_passwd, "")) {
needspasswd = true;
}
cp = getenv ("SHELL");
if (!initflag && (NULL != cp)) {
prog = cp;
- } else if ((NULL != pwd->pw_shell) && ('\0' != pwd->pw_shell[0])) {
+ } else if ((NULL != pwd->pw_shell) && !streq(pwd->pw_shell, "")) {
prog = pwd->pw_shell;
} else {
prog = SHELL;
/*
* Now I have all of the fields required to create the new group.
*/
- if (('\0' != gid[0]) && (!isdigit (gid[0]))) {
+ if (!streq(gid, "") && (!isdigit(gid[0]))) {
grent.gr_name = xstrdup (gid);
} else {
grent.gr_name = xstrdup (name);
return -1;
}
} else {
- if ('\0' != uid[0]) {
+ if (!streq(uid, "")) {
const struct passwd *pwd;
/* local, no need for xgetpwnam */
pwd = getpwnam (uid);
Prog, line);
fail_exit (EXIT_FAILURE);
}
- if ('\0' != fields[4][0]) {
+ if (!streq(fields[4], "")) {
newpw.pw_gecos = fields[4];
}
- if ('\0' != fields[5][0]) {
+ if (!streq(fields[5], "")) {
newpw.pw_dir = fields[5];
}
- if ('\0' != fields[6][0]) {
+ if (!streq(fields[6], "")) {
newpw.pw_shell = fields[6];
}
- if ( ('\0' != fields[5][0])
+ if ( !streq(fields[5], "")
&& (access (newpw.pw_dir, F_OK) != 0)) {
/* FIXME: should check for directory */
mode_t mode = getdef_num ("HOME_MODE",
* password.
*/
- if (!amroot && ('\0' != crypt_passwd[0])) {
+ if (!amroot && !streq(crypt_passwd, "")) {
clear = agetpass (_("Old password: "));
if (NULL == clear) {
return -1;
* Make sure the login shell is executable
*/
if ( !quiet
- && ('\0' != pwd->pw_shell[0])
+ && !streq(pwd->pw_shell, "")
&& (access (pwd->pw_shell, F_OK) != 0)) {
/*
sulog (caller_tty, true, caller_name, name); /* save SU information */
if (getdef_bool ("SYSLOG_SU_ENAB")) {
SYSLOG ((LOG_INFO, "+ %s %s:%s", caller_tty,
- ('\0' != caller_name[0]) ? caller_name : "???",
- ('\0' != name[0]) ? name : "???"));
+ (!streq(caller_name, "")) ? caller_name : "???",
+ (!streq(name, "")) ? name : "???"));
}
#ifdef USE_PAM
AUDIT_USER_ROLE_CHANGE,
NULL, /* Prog. name */
"su",
- ('\0' != caller_name[0]) ? caller_name : "???",
+ (!streq(caller_name, "")) ? caller_name : "???",
AUDIT_NO_ID,
"localhost",
NULL, /* addr */
Uflg = false; /* create a group having the same name as the user */
#ifdef WITH_SELINUX
-#define Zflg ('\0' != *user_selinux)
+#define Zflg (!streq(user_selinux, ""))
#endif /* WITH_SELINUX */
static bool home_added = false;
Dflg = true;
break;
case 'e':
- if ('\0' != *optarg) {
+ if (!streq(optarg, "")) {
user_expire = strtoday (optarg);
if (user_expire < -1) {
fprintf (stderr,
break;
case 's':
if ( ( !VALID (optarg) )
- || ( ('\0' != optarg[0])
+ || ( !streq(optarg, "")
&& ('/' != optarg[0])
&& ('*' != optarg[0]) )) {
fprintf (stderr,
Prog, optarg);
exit (E_BAD_ARG);
}
- if ( '\0' != optarg[0]
+ if (!streq(optarg, "")
&& '*' != optarg[0]
&& !streq(optarg, "/sbin/nologin")
&& ( stat(optarg, &st) != 0
break;
case 's':
if ( ( !VALID (optarg) )
- || ( ('\0' != optarg[0])
+ || ( !streq(optarg, "")
&& ('/' != optarg[0])
&& ('*' != optarg[0]) )) {
fprintf (stderr,
Prog, optarg);
exit (E_BAD_ARG);
}
- if ( '\0' != optarg[0]
+ if (!streq(optarg, "")
&& '*' != optarg[0]
&& !streq(optarg, "/sbin/nologin")
&& ( stat(optarg, &st) != 0
#ifdef WITH_SELINUX
if (Zflg) {
- if ('\0' != *user_selinux) {
+ if (!streq(user_selinux, "")) {
if (set_seuser (user_name, user_selinux, user_selinux_range) != 0) {
fprintf (stderr,
_("%s: warning: the user name %s to %s SELinux user mapping failed.\n"),