extern const char *namelist_file;
extern int negate_selection;
extern int page_size; // "int" for math reasons?
-extern unsigned personality;
+extern unsigned _personality;
extern int prefer_bsd_defaults;
extern int running_only;
extern int screen_cols;
int negate_selection = -1;
int running_only = -1;
int page_size = -1; // "int" for math reasons?
-unsigned personality = 0xffffffff;
+unsigned _personality = 0xffffffff;
int prefer_bsd_defaults = -1;
int screen_cols = -1;
int screen_rows = -1;
};
const int personality_table_count = sizeof(personality_table)/sizeof(personality_table_struct);
- personality = 0;
+ _personality = 0;
prefer_bsd_defaults = 0;
bsd_j_format = "OL_j";
goto *(found->jump); /* See gcc extension info. :-) */
case_bsd:
- personality = PER_FORCE_BSD | PER_BSD_h | PER_BSD_m;
+ _personality = PER_FORCE_BSD | PER_BSD_h | PER_BSD_m;
prefer_bsd_defaults = 1;
bsd_j_format = "FB_j";
bsd_l_format = "FB_l";
return NULL;
case_old:
- personality = PER_FORCE_BSD | PER_OLD_m;
+ _personality = PER_FORCE_BSD | PER_OLD_m;
prefer_bsd_defaults = 1;
return NULL;
case_debian: /* Toss this? They don't seem to care much. */
case_gnu:
- personality = PER_GOOD_o | PER_OLD_m;
+ _personality = PER_GOOD_o | PER_OLD_m;
prefer_bsd_defaults = 1;
sysv_f_format = "RD_f";
/* sysv_fl_format = "RD_fl"; */ /* old Debian ps can't do this! */
return NULL;
case_linux:
- personality = PER_GOOD_o | PER_ZAP_ADDR | PER_SANE_USER;
+ _personality = PER_GOOD_o | PER_ZAP_ADDR | PER_SANE_USER;
return NULL;
case_default: /* use defaults for ps, ignoring other environment variables */
getenv("UNIX95") /* Irix */
|| getenv("POSIXLY_CORRECT") /* most gnu stuff */
|| (getenv("POSIX2") && !strcmp(getenv("POSIX2"), "on")) /* Unixware 7 */
- ) personality = PER_BROKEN_o;
+ ) _personality = PER_BROKEN_o;
return NULL;
case_aix:
case_digital:
// no PER_NO_DEFAULT_g even though man page claims it
// Reality: the g is a NOP
- personality = PER_GOOD_o | PER_BSD_h;
+ _personality = PER_GOOD_o | PER_BSD_h;
prefer_bsd_defaults = 1;
sysv_f_format = "F5FMT";
sysv_fl_format = "FL5FMT";
return NULL;
case_sunos4:
- personality = PER_NO_DEFAULT_g;
+ _personality = PER_NO_DEFAULT_g;
prefer_bsd_defaults = 1;
bsd_j_format = "FB_j";
bsd_l_format = "FB_l";
case_irix:
case_sgi:
s = getenv("_XPG");
- if(s && s[0]>'0' && s[0]<='9') personality = PER_BROKEN_o;
- else personality = PER_IRIX_l;
+ if(s && s[0]>'0' && s[0]<='9') _personality = PER_BROKEN_o;
+ else _personality = PER_IRIX_l;
return NULL;
case_os390: /* IBM's OS/390 OpenEdition on the S/390 mainframe */
case_hp:
case_hpux:
- personality = PER_BROKEN_o | PER_HPUX_x;
+ _personality = PER_BROKEN_o | PER_HPUX_x;
return NULL;
case_svr4:
case_sysv:
case_sco:
- personality = PER_BROKEN_o | PER_SVR4_x;
+ _personality = PER_BROKEN_o | PER_SVR4_x;
return NULL;
case_posix:
case_unix95:
case_unix98:
case_unix:
- personality = PER_BROKEN_o;
+ _personality = PER_BROKEN_o;
return NULL;
}
fprintf(stderr,
"personality=0x%08x (from \"%s\")\n"
"EUID=%d TTY=%d,%d Hertz=%lld page_size=%d\n",
- personality, saved_personality_text,
+ _personality, saved_personality_text,
cached_euid, (int)major(cached_tty), (int)minor(cached_tty), Hertz,
(int)(page_size)
);
w_count++;
break;
case 'x': /* behind personality until "ps -ax" habit is uncommon */
- if(personality & PER_SVR4_x){
+ if(_personality & PER_SVR4_x){
// Same as -y, but for System V Release 4 MP
trace("-x works like Sun Solaris & SCO Unixware -y option\n");
format_modifiers |= FM_y;
break;
}
- if(personality & PER_HPUX_x){
+ if(_personality & PER_HPUX_x){
trace("-x extends the command line\n");
w_count += 2;
unix_f_option = 1;
if(!force_bsd) return _("cannot happen - problem #1");
}else{
flagptr--; /* off beginning, will increment before use */
- if(personality & PER_FORCE_BSD){
+ if(_personality & PER_FORCE_BSD){
if(!force_bsd) return _("cannot happen - problem #2");
}else{
if(force_bsd) return _("second chance parse failed, not BSD or SysV");
case 'h':
trace("h repeat header\n");
if(header_type) return _("only one heading option may be specified");
- if(personality & PER_BSD_h) header_type = HEAD_MULTI;
+ if(_personality & PER_BSD_h) header_type = HEAD_MULTI;
else header_type = HEAD_NONE;
break;
case 'j':
break;
case 'm':
trace("m all threads, sort on mem use, show mem info\n");
- if(personality & PER_OLD_m){
+ if(_personality & PER_OLD_m){
format_flags |= FF_Lm;
break;
}
- if(personality & PER_BSD_m){
+ if(_personality & PER_BSD_m){
defer_sf_option("pmem", SF_B_m);
break;
}
err = parse_sysv_option();
break;
case ARG_BSD:
- if(force_bsd && !(personality & PER_FORCE_BSD)) return _("way bad");
+ if(force_bsd && !(_personality & PER_FORCE_BSD)) return _("way bad");
}
prefer_bsd_defaults = 1;
err = parse_bsd_option();
ps_argv = argv;
thisarg = 0;
- if(personality & PER_FORCE_BSD) goto try_bsd;
+ if(_personality & PER_FORCE_BSD) goto try_bsd;
err = parse_all_options();
if(err) goto try_bsd;
not_pure_unix=1;
force_bsd=1;
prefer_bsd_defaults=1;
- if(!( (PER_OLD_m|PER_BSD_m) & personality )) /* if default m setting... */
- personality |= PER_OLD_m; /* Prefer old Linux over true BSD. */
+ if(!( (PER_OLD_m|PER_BSD_m) & _personality )) /* if default m setting... */
+ _personality |= PER_OLD_m; /* Prefer old Linux over true BSD. */
/* Do not set PER_FORCE_BSD! It is tested below. */
err2 = parse_all_options();
total_failure:
reset_parser();
- if(personality & PER_FORCE_BSD) fprintf(stderr, _("error: %s\n"), err2);
+ if(_personality & PER_FORCE_BSD) fprintf(stderr, _("error: %s\n"), err2);
else fprintf(stderr, _("error: %s\n"), err);
do_help(NULL, EXIT_FAILURE);
}
return NULL;
}
/* For every BSD but SunOS, the 'g' option is a NOP. (enabled by default) */
- if( !(personality & PER_NO_DEFAULT_g) && !(simple_select&(SS_U_a|SS_U_d)) )
+ if( !(_personality & PER_NO_DEFAULT_g) && !(simple_select&(SS_U_a|SS_U_d)) )
switch_val = simple_select|SS_B_g;
else
switch_val = simple_select;
}
/* since FM_y adds RSS anyway, don't do this hack when that is true */
if( (format_flags & FF_Ul) && !(format_modifiers & FM_y) ){
- if(personality & PER_IRIX_l){ /* add "rss" then ':' here */
+ if(_personality & PER_IRIX_l){ /* add "rss" then ':' here */
PUSH("sgi_rss");
fn = malloc(sizeof(format_node));
fn->width = 1;
}
if(format_flags & FF_Ul){
if(format_modifiers & FM_y) PUSH("rss");
- else if(personality & (PER_ZAP_ADDR|PER_IRIX_l)) PUSH("sgi_p");
+ else if(_personality & (PER_ZAP_ADDR|PER_IRIX_l)) PUSH("sgi_p");
else PUSH("addr_1");
}
if(format_modifiers & FM_c){
PUSH("pri"); PUSH("class");
}else if(format_flags & FF_Ul){
PUSH("ni");
- if(personality & PER_IRIX_l) PUSH("priority");
+ if(_personality & PER_IRIX_l) PUSH("priority");
else /* is this good? */ PUSH("opri");
}
if(thread_flags & TF_U_T) PUSH("spid");
PUSH("pid");
if(format_flags & FF_Uf){
- if(personality & PER_SANE_USER) PUSH("user");
+ if(_personality & PER_SANE_USER) PUSH("user");
else PUSH("uid_hack");
}else if(format_flags & FF_Ul){
PUSH("uid");
const char *process_sf_options(int localbroken){
sf_node *sf_walk;
- if(personality & PER_BROKEN_o) localbroken = 1;
- if(personality & PER_GOOD_o) localbroken = 0;
+ if(_personality & PER_BROKEN_o) localbroken = 1;
+ if(_personality & PER_GOOD_o) localbroken = 0;
broken = localbroken;
if(sf_list){
const char *err;
* Generally, these only get hit when personality overrides unix output.
* That (mostly?) means the Digital and Debian personalities.
*/
- if((personality & PER_ZAP_ADDR) && (format_flags & FF_Ul)){
+ if((_personality & PER_ZAP_ADDR) && (format_flags & FF_Ul)){
fn = do_one_spec("sgi_p", NULL);
if(fmt_add_after("ADDR", fn)) fmt_delete("ADDR");
}
- if((personality & PER_SANE_USER) && (format_flags & FF_Uf)){
+ if((_personality & PER_SANE_USER) && (format_flags & FF_Uf)){
fn = do_one_spec("user", NULL);
if(fmt_add_after("UID", fn)) fmt_delete("UID");
}