give up, GNU libc will never be compatible with UNIX libc

This commit is contained in:
albert 2002-10-10 20:44:35 +00:00
parent 2b7da1632b
commit 62b707978e
4 changed files with 3 additions and 42 deletions

View File

@ -230,28 +230,6 @@ extern int simple_escape_str(char *dst, const char *src, size_t n);
/********************* 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);

View File

@ -351,9 +351,6 @@ void reset_global(void){
/*********** spew variables ***********/
void self_info(void){
#ifndef EMULATE_FPUTS
int count;
#endif
fprintf(stderr,
"BSD j %s\n"
"BSD l %s\n"
@ -387,20 +384,6 @@ void self_info(void){
__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"

View File

@ -1709,7 +1709,7 @@ void show_one_proc(proc_t* p){
leftpad = 0;
break;
default:
fputs("bad alignment code\n", stderr);
fprintf(stderr, "bad alignment code\n");
break;
}
/* At this point:

View File

@ -864,7 +864,7 @@ static const char *parse_gnu_option(void){
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:
@ -1131,7 +1131,7 @@ total_failure:
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 */
}