From 62b707978e3dcdfc2a51925e2f6c5779a3ec219c Mon Sep 17 00:00:00 2001 From: albert <> Date: Thu, 10 Oct 2002 20:44:35 +0000 Subject: [PATCH] give up, GNU libc will never be compatible with UNIX libc --- ps/common.h | 22 ---------------------- ps/global.c | 17 ----------------- ps/output.c | 2 +- ps/parser.c | 4 ++-- 4 files changed, 3 insertions(+), 42 deletions(-) diff --git a/ps/common.h b/ps/common.h index c0fc2f6f..cb431d53 100644 --- a/ps/common.h +++ b/ps/common.h @@ -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); diff --git a/ps/global.c b/ps/global.c index f9185519..240b46a1 100644 --- a/ps/global.c +++ b/ps/global.c @@ -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" diff --git a/ps/output.c b/ps/output.c index bdd15fa4..b4bbfe77 100644 --- a/ps/output.c +++ b/ps/output.c @@ -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: diff --git a/ps/parser.c b/ps/parser.c index 0a1cd9ed..84781df2 100644 --- a/ps/parser.c +++ b/ps/parser.c @@ -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 */ }