/********************* UNDECIDED GLOBALS **************/
-/*
- * fputs(3) should (as in "good behavior") return the number of
- * characters written as it does on Digital Unix, AIX, Irix, and SunOS.
- * I'll assume glibc 2.1 has this extremely useful feature.
- *
- * Note: code ported from other systems will keep breaking until
- * the library is updated. You should patch the library itself if
- * at all possible. (for example, distributers who build libc from
- * source with automatic patching as part of the build process)
- */
-
-#if defined __GLIBC__ && ((__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) || __GLIBC__ > 2)
-#warning Hopefully fputs(3) has been modernized...
-#else
-#define EMULATE_FPUTS
-#define fputs something_to_avoid_libc_troubles
-static inline int fputs(const char *s, FILE *fp){
- return fwrite(s,1,strlen(s),fp);
- /* return fprintf(fp, "%s", s); */
-}
-#endif
-
/* output.c */
extern void show_one_proc(proc_t* p);
extern void print_format_specifiers(void);
/*********** spew variables ***********/
void self_info(void){
-#ifndef EMULATE_FPUTS
- int count;
-#endif
fprintf(stderr,
"BSD j %s\n"
"BSD l %s\n"
__GNU_LIBRARY__, __GLIBC__, __GLIBC_MINOR__
);
-#ifdef EMULATE_FPUTS
- fprintf(stderr, "libc assumed lame, using fprintf to emulate fputs.\n\n");
-#else
- fprintf(stderr, "fputs(\"");
- count = fputs("123456789", stderr);
- fprintf(stderr, "\", stderr) gives %d, which is %s.\n",
- count, count==9?"good":"BAD!\nAdjust ps/common.h or libc, then recompile"
- );
- if(count!=9){
- fprintf(stderr, "(procps includes a libc patch called glibc.patch)\n");
- }
- fprintf(stderr, "\n");
-#endif
-
fprintf(stderr,
"header_gap=%d lines_to_next_header=%d\n"
"screen_cols=%d screen_rows=%d\n"
leftpad = 0;
break;
default:
- fputs("bad alignment code\n", stderr);
+ fprintf(stderr, "bad alignment code\n");
break;
}
/* At this point:
case_help:
trace("--help\n");
exclusive("--help");
- fputs(help_message, stderr);
+ fwrite(help_message,1,strlen(help_message),stderr);
exit(0);
return NULL;
case_info:
reset_parser();
if(personality & PER_FORCE_BSD) fprintf(stderr, "ERROR: %s\n", err2);
else fprintf(stderr, "ERROR: %s\n", err);
- fputs(help_message, stderr);
+ fwrite(help_message,1,strlen(help_message),stderr);
exit(1);
/* return 1; */ /* useless */
}