lib/, src/: Use !streq() instead of its pattern
Except for the added (and sorted) includes, the removal of redundant parentheses, and a few non-string cases that I've left out of the change, this patch can be approximated with the following semantic patch: $ cat ~/tmp/spatch/strneq.sp @@ expression s; @@ - '\0' != *s + !streq(s, "") @@ expression s; @@ - '\0' != s[0] + !streq(s, "") @@ expression s; @@ - *s != '\0' + !streq(s, "") @@ expression s; @@ - s[0] != '\0' + !streq(s, "") $ find contrib/ lib* src/ -type f \ | xargs spatch --in-place --sp-file ~/tmp/spatch/strneq.sp; Signed-off-by: Alejandro Colomar <alx@kernel.org>
This commit is contained in:
committed by
Serge Hallyn
parent
7182d6402f
commit
c39305569b
+2
-1
@@ -33,6 +33,7 @@
|
||||
|
||||
#include "defines.h"
|
||||
#include "chkname.h"
|
||||
#include "string/strcmp/streq.h"
|
||||
|
||||
|
||||
int allow_bad_names = false;
|
||||
@@ -85,7 +86,7 @@ is_valid_name(const char *name)
|
||||
|
||||
numeric = isdigit(*name);
|
||||
|
||||
while ('\0' != *++name) {
|
||||
while (!streq(++name, "")) {
|
||||
if (!((*name >= 'a' && *name <= 'z') ||
|
||||
(*name >= 'A' && *name <= 'Z') ||
|
||||
(*name >= '0' && *name <= '9') ||
|
||||
|
||||
+3
-2
@@ -18,6 +18,7 @@
|
||||
#include "prototypes.h"
|
||||
#include "string/strchr/stpspn.h"
|
||||
#include "string/strchr/strrspn.h"
|
||||
#include "string/strcmp/streq.h"
|
||||
#include "string/strtok/stpsep.h"
|
||||
|
||||
|
||||
@@ -47,7 +48,7 @@ int valid_field (const char *field, const char *illegal)
|
||||
}
|
||||
|
||||
/* 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;
|
||||
@@ -86,7 +87,7 @@ change_field(char *buf, size_t maxsize, const char *prompt)
|
||||
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
|
||||
|
||||
+2
-3
@@ -14,8 +14,7 @@
|
||||
|
||||
#include "defines.h"
|
||||
#include "prototypes.h"
|
||||
|
||||
#ident "$Id$"
|
||||
#include "string/strcmp/streq.h"
|
||||
|
||||
|
||||
/*@null@*/char *
|
||||
@@ -48,7 +47,7 @@ int fputsx (const char *s, FILE * stream)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; '\0' != *s; i++, s++) {
|
||||
for (i = 0; !streq(s, ""); i++, s++) {
|
||||
if (putc (*s, stream) == EOF) {
|
||||
return EOF;
|
||||
}
|
||||
|
||||
+2
-2
@@ -627,7 +627,7 @@ static int LookupWord (char *buff)
|
||||
bool abbrev;
|
||||
|
||||
/* Make it lowercase. */
|
||||
for (p = buff; '\0' != *p; p++)
|
||||
for (p = buff; !streq(p, ""); p++)
|
||||
if (isupper (*p))
|
||||
*p = tolower (*p);
|
||||
|
||||
@@ -720,7 +720,7 @@ static int LookupWord (char *buff)
|
||||
}
|
||||
|
||||
/* 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
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ build_list(char *s)
|
||||
|
||||
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;
|
||||
|
||||
+1
-1
@@ -203,7 +203,7 @@ static int do_user_limits (const char *buf, const char *name)
|
||||
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':
|
||||
|
||||
+6
-2
@@ -15,9 +15,13 @@
|
||||
|
||||
#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;
|
||||
@@ -34,7 +38,7 @@
|
||||
* 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;
|
||||
|
||||
@@ -87,7 +87,7 @@ nss_init(const char *nsswitch_path) {
|
||||
continue;
|
||||
p = &line[6];
|
||||
p = stpspn(p, " \t\n");
|
||||
if (*p != '\0')
|
||||
if (!streq(p, ""))
|
||||
break;
|
||||
p = NULL;
|
||||
}
|
||||
|
||||
+1
-1
@@ -82,7 +82,7 @@ static char *str_lower (/*@returned@*/char *string)
|
||||
{
|
||||
char *cp;
|
||||
|
||||
for (cp = string; '\0' != *cp; cp++) {
|
||||
for (cp = string; !streq(cp, ""); cp++) {
|
||||
*cp = tolower (*cp);
|
||||
}
|
||||
return string;
|
||||
|
||||
+2
-2
@@ -39,7 +39,7 @@ static int portcmp (const char *pattern, const char *port)
|
||||
{
|
||||
const char *orig = port;
|
||||
|
||||
while (('\0' != *pattern) && (*pattern == *port)) {
|
||||
while (!streq(pattern, "") && (*pattern == *port)) {
|
||||
pattern++;
|
||||
port++;
|
||||
}
|
||||
@@ -215,7 +215,7 @@ next:
|
||||
* 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
|
||||
|
||||
+1
-1
@@ -54,7 +54,7 @@ long strtoday (const char *str)
|
||||
s++;
|
||||
}
|
||||
s = stpspn(s, " ");
|
||||
while (isnum && ('\0' != *s)) {
|
||||
while (isnum && !streq(s, "")) {
|
||||
if (!isdigit (*s)) {
|
||||
isnum = false;
|
||||
}
|
||||
|
||||
+1
-1
@@ -58,7 +58,7 @@ void ttytype (const char *line)
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ((feof (fp) == 0) && (ferror (fp) == 0) && (type[0] != '\0')) {
|
||||
if ((feof(fp) == 0) && (ferror(fp) == 0) && !streq(type, "")) {
|
||||
addenv ("TERM", type);
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -254,7 +254,7 @@ prepare_utmp(const char *name, const char *line, const char *host,
|
||||
|
||||
|
||||
|
||||
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])
|
||||
|
||||
+3
-3
@@ -225,7 +225,7 @@ static char *copy_field (char *in, char *out, char *extra)
|
||||
break;
|
||||
|
||||
if (NULL != extra) {
|
||||
if ('\0' != extra[0]) {
|
||||
if (!streq(extra, "")) {
|
||||
strcat (extra, ",");
|
||||
}
|
||||
|
||||
@@ -543,7 +543,7 @@ static void get_old_fields (const char *gecos)
|
||||
* Anything left over is "slop".
|
||||
*/
|
||||
if ((NULL != cp) && !oflg) {
|
||||
if ('\0' != slop[0]) {
|
||||
if (!streq(slop, "")) {
|
||||
strcat (slop, ",");
|
||||
}
|
||||
|
||||
@@ -702,7 +702,7 @@ int main (int argc, char **argv)
|
||||
}
|
||||
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);
|
||||
|
||||
+1
-1
@@ -179,7 +179,7 @@ static bool is_valid_user_list (const char *users)
|
||||
|
||||
tmpusers = dup = xstrdup(users);
|
||||
|
||||
while (NULL != tmpusers && '\0' != *tmpusers) {
|
||||
while (NULL != tmpusers && !streq(tmpusers, "")) {
|
||||
const char *u;
|
||||
|
||||
u = strsep(&tmpusers, ",");
|
||||
|
||||
+4
-4
@@ -422,7 +422,7 @@ static /*@observer@*/const char *get_failent_user (/*@returned@*/const char *use
|
||||
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;
|
||||
@@ -589,13 +589,13 @@ int main (int argc, char **argv)
|
||||
|
||||
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);
|
||||
@@ -925,7 +925,7 @@ int main (int argc, char **argv)
|
||||
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;
|
||||
|
||||
+1
-1
@@ -320,7 +320,7 @@ static bool from_match (const char *tok, const char *string)
|
||||
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;
|
||||
}
|
||||
|
||||
+2
-2
@@ -150,7 +150,7 @@ static void check_perms (const struct group *grp,
|
||||
spw_free (spwd);
|
||||
}
|
||||
|
||||
if (streq(pwd->pw_passwd, "") && (grp->gr_passwd[0] != '\0')) {
|
||||
if (streq(pwd->pw_passwd, "") && !streq(grp->gr_passwd, "")) {
|
||||
needspasswd = true;
|
||||
}
|
||||
|
||||
@@ -786,7 +786,7 @@ int main (int argc, char **argv)
|
||||
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;
|
||||
|
||||
+6
-6
@@ -282,7 +282,7 @@ static int add_group (const char *name, const char *gid, gid_t *ngid, uid_t uid)
|
||||
/*
|
||||
* 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);
|
||||
@@ -355,7 +355,7 @@ static int get_user_id (const char *uid, uid_t *nuid) {
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
if ('\0' != uid[0]) {
|
||||
if (!streq(uid, "")) {
|
||||
const struct passwd *pwd;
|
||||
/* local, no need for xgetpwnam */
|
||||
pwd = getpwnam (uid);
|
||||
@@ -1222,19 +1222,19 @@ int main (int argc, char **argv)
|
||||
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",
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ static int new_password (const struct passwd *pw)
|
||||
* password.
|
||||
*/
|
||||
|
||||
if (!amroot && ('\0' != crypt_passwd[0])) {
|
||||
if (!amroot && !streq(crypt_passwd, "")) {
|
||||
clear = agetpass (_("Old password: "));
|
||||
if (NULL == clear) {
|
||||
return -1;
|
||||
|
||||
+1
-1
@@ -533,7 +533,7 @@ static void check_pw_file (int *errors, bool *changed)
|
||||
* 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)) {
|
||||
|
||||
/*
|
||||
|
||||
@@ -1087,8 +1087,8 @@ int main (int argc, char **argv)
|
||||
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
|
||||
@@ -1143,7 +1143,7 @@ int main (int argc, char **argv)
|
||||
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 */
|
||||
|
||||
+4
-4
@@ -177,7 +177,7 @@ static bool
|
||||
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;
|
||||
@@ -1268,7 +1268,7 @@ static void process_flags (int argc, char **argv)
|
||||
Dflg = true;
|
||||
break;
|
||||
case 'e':
|
||||
if ('\0' != *optarg) {
|
||||
if (!streq(optarg, "")) {
|
||||
user_expire = strtoday (optarg);
|
||||
if (user_expire < -1) {
|
||||
fprintf (stderr,
|
||||
@@ -1403,7 +1403,7 @@ static void process_flags (int argc, char **argv)
|
||||
break;
|
||||
case 's':
|
||||
if ( ( !VALID (optarg) )
|
||||
|| ( ('\0' != optarg[0])
|
||||
|| ( !streq(optarg, "")
|
||||
&& ('/' != optarg[0])
|
||||
&& ('*' != optarg[0]) )) {
|
||||
fprintf (stderr,
|
||||
@@ -1411,7 +1411,7 @@ static void process_flags (int argc, char **argv)
|
||||
Prog, optarg);
|
||||
exit (E_BAD_ARG);
|
||||
}
|
||||
if ( '\0' != optarg[0]
|
||||
if (!streq(optarg, "")
|
||||
&& '*' != optarg[0]
|
||||
&& !streq(optarg, "/sbin/nologin")
|
||||
&& ( stat(optarg, &st) != 0
|
||||
|
||||
+3
-3
@@ -1154,7 +1154,7 @@ process_flags(int argc, char **argv)
|
||||
break;
|
||||
case 's':
|
||||
if ( ( !VALID (optarg) )
|
||||
|| ( ('\0' != optarg[0])
|
||||
|| ( !streq(optarg, "")
|
||||
&& ('/' != optarg[0])
|
||||
&& ('*' != optarg[0]) )) {
|
||||
fprintf (stderr,
|
||||
@@ -1162,7 +1162,7 @@ process_flags(int argc, char **argv)
|
||||
Prog, optarg);
|
||||
exit (E_BAD_ARG);
|
||||
}
|
||||
if ( '\0' != optarg[0]
|
||||
if (!streq(optarg, "")
|
||||
&& '*' != optarg[0]
|
||||
&& !streq(optarg, "/sbin/nologin")
|
||||
&& ( stat(optarg, &st) != 0
|
||||
@@ -2334,7 +2334,7 @@ int main (int argc, char **argv)
|
||||
|
||||
#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"),
|
||||
|
||||
Reference in New Issue
Block a user