From: Todd C. Miller Date: Thu, 29 Jan 2004 22:33:54 +0000 (+0000) Subject: Use the SET, CLR and ISSET macros. X-Git-Tag: SUDO_1_6_8~203 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=262bb5e87068dc0608e2abe73c135ab402144260;p=sudo Use the SET, CLR and ISSET macros. --- diff --git a/defaults.c b/defaults.c index 38394a5b9..dea65d63c 100644 --- a/defaults.c +++ b/defaults.c @@ -279,13 +279,13 @@ set_default(var, val, op) case T_STR: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); } } - if ((cur->type & T_PATH) && val && *val != '/') { + if (ISSET(cur->type, T_PATH) && val && *val != '/') { warnx("values for `%s' must start with a '/'", var); return(FALSE); } @@ -297,7 +297,7 @@ set_default(var, val, op) case T_INT: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); @@ -311,7 +311,7 @@ set_default(var, val, op) case T_UINT: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); @@ -325,7 +325,7 @@ set_default(var, val, op) case T_MODE: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); @@ -351,7 +351,7 @@ set_default(var, val, op) case T_LIST: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); @@ -365,7 +365,7 @@ set_default(var, val, op) case T_TUPLE: if (!val) { /* Check for bogus boolean usage or lack of a value. */ - if (!(cur->type & T_BOOL) || op != FALSE) { + if (!ISSET(cur->type, T_BOOL) || op != FALSE) { warnx("no value specified for `%s' on line %d", var, sudolineno); return(FALSE); diff --git a/env.c b/env.c index eda955053..e4a5197a1 100644 --- a/env.c +++ b/env.c @@ -357,30 +357,30 @@ rebuild_env(envp, sudo_mode, noexec) switch (**ep) { case 'H': if (strncmp(*ep, "HOME=", 5) == 0) - didvar |= DID_HOME; + SET(didvar, DID_HOME); break; case 'S': if (strncmp(*ep, "SHELL=", 6) == 0) - didvar |= DID_SHELL; + SET(didvar, DID_SHELL); break; case 'L': if (strncmp(*ep, "LOGNAME=", 8) == 0) - didvar |= DID_LOGNAME; + SET(didvar, DID_LOGNAME); break; case 'U': if (strncmp(*ep, "USER=", 5) == 0) - didvar |= DID_USER; + SET(didvar, DID_USER); break; } insert_env(*ep, 0); } else { /* Preserve TERM and PATH, ignore anything else. */ - if (!(didvar & DID_TERM) && !strncmp(*ep, "TERM=", 5)) { + if (!ISSET(didvar, DID_TERM) && strncmp(*ep, "TERM=", 5) == 0) { insert_env(*ep, 0); - didvar |= DID_TERM; - } else if (!(didvar & DID_PATH) && !strncmp(*ep, "PATH=", 5)) { + SET(didvar, DID_TERM); + } else if (!ISSET(didvar, DID_PATH) && strncmp(*ep, "PATH=", 5) == 0) { insert_env(*ep, 0); - didvar |= DID_PATH; + SET(didvar, DID_PATH); } } } @@ -390,19 +390,19 @@ rebuild_env(envp, sudo_mode, noexec) * otherwise they may be from the user's environment (depends * on sudoers options). */ - if (sudo_mode & MODE_LOGIN_SHELL) { + if (ISSET(sudo_mode, MODE_LOGIN_SHELL)) { insert_env(format_env("HOME", runas_pw->pw_dir, VNULL), 0); insert_env(format_env("SHELL", runas_pw->pw_shell, VNULL), 0); insert_env(format_env("LOGNAME", runas_pw->pw_name, VNULL), 0); insert_env(format_env("USER", runas_pw->pw_name, VNULL), 0); } else { - if (!(didvar & DID_HOME)) + if (!ISSET(didvar, DID_HOME)) insert_env(format_env("HOME", user_dir, VNULL), 0); - if (!(didvar & DID_SHELL)) + if (!ISSET(didvar, DID_SHELL)) insert_env(format_env("SHELL", sudo_user.pw->pw_shell, VNULL), 0); - if (!(didvar & DID_LOGNAME)) + if (!ISSET(didvar, DID_LOGNAME)) insert_env(format_env("LOGNAME", user_name, VNULL), 0); - if (!(didvar & DID_USER)) + if (!ISSET(didvar, DID_USER)) insert_env(format_env("USER", user_name, VNULL), 0); } } else { @@ -448,17 +448,17 @@ rebuild_env(envp, sudo_mode, noexec) if (strncmp(*ep, "SUDO_PS1=", 9) == 0) ps1 = *ep + 5; else if (strncmp(*ep, "PATH=", 5) == 0) - didvar |= DID_PATH; + SET(didvar, DID_PATH); else if (strncmp(*ep, "TERM=", 5) == 0) - didvar |= DID_TERM; + SET(didvar, DID_TERM); insert_env(*ep, 0); } } } /* Provide default values for $TERM and $PATH if they are not set. */ - if (!(didvar & DID_TERM)) + if (!ISSET(didvar, DID_TERM)) insert_env("TERM=unknown", 0); - if (!(didvar & DID_PATH)) + if (!ISSET(didvar, DID_PATH)) insert_env(format_env("PATH", _PATH_DEFPATH, VNULL), 0); #ifdef SECURE_PATH @@ -473,7 +473,7 @@ rebuild_env(envp, sudo_mode, noexec) } /* Set $HOME for `sudo -H'. Only valid at PERM_FULL_RUNAS. */ - if ((sudo_mode & MODE_RESET_HOME) && runas_pw->pw_dir) + if (ISSET(sudo_mode, MODE_RESET_HOME) && runas_pw->pw_dir) insert_env(format_env("HOME", runas_pw->pw_dir, VNULL), 1); /*