diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 2010-12-04 09:10:24 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 2010-12-04 09:10:24 +0000 |
commit | 058f99bb6be204f053b06d0ad32951709df6109f (patch) | |
tree | d55abf725c2c1bef9c08f04fa131ff3b081ef61a /net/imm/files/patch-src::utils.c | |
parent | ddf00fcd5395624bf1ee4fb0f5ac3b1eac59bb23 (diff) | |
download | ports-6-eol.tar.gz ports-6-eol.zip |
This commit was manufactured by cvs2svn to create tag 'RELEASE_6_EOL'.6-eol
Diffstat (limited to 'net/imm/files/patch-src::utils.c')
-rw-r--r-- | net/imm/files/patch-src::utils.c | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/net/imm/files/patch-src::utils.c b/net/imm/files/patch-src::utils.c deleted file mode 100644 index a7db5d4e2d04..000000000000 --- a/net/imm/files/patch-src::utils.c +++ /dev/null @@ -1,200 +0,0 @@ ---- src/utils.c.orig Thu Jul 15 12:37:25 2004 -+++ src/utils.c Thu Jul 15 13:36:09 2004 -@@ -20,7 +20,7 @@ - * These notices must be retained in any copies of any part of this software. - ******************************************************************************/ - #include <stdio.h> --#include <varargs.h> -+#include <stdarg.h> - #include <stdlib.h> - #include <string.h> - #ifdef __NetBSD__ -@@ -40,47 +40,118 @@ - - /*----------------------------------------------------------------------------*/ - --void warn( va_alist ) --va_dcl -+/* Allocate memory for format string buffers */ -+int -+vfsalloc(char *fmt, va_list ap) - { -- va_list args; -- char *fmt; -+ char *s; -+ int i, n = 0, len = 0; - -- va_start( args ); -- fmt = va_arg( args, char * ); -- fprintf( stderr, "Warning: " ); -- vfprintf( stderr, fmt, args ); -- va_end( args ); -+ if (!fmt) -+ return 0; -+ -+ s = strchr(fmt, '%'); -+ -+ while (s) { -+ ++s; -+ ++n; -+ -+ switch (*s) { -+ case 'd': -+ i = va_arg(ap, int); -+ len += 1 + sizeof(int)<<1; -+ break; -+ case 's': -+ len += strlen(va_arg(ap, char *)); -+ break; -+ } -+ s = strchr(s, '%'); -+ } -+ -+ len += strlen(fmt) - (2 * n); -+ -+ return len; -+} -+ -+void warn( char *fmt, ... ) -+{ -+ va_list ap; -+ char *buf, *s; -+ int len; -+ -+ if (!fmt) -+ return; -+ -+ va_start(ap, fmt); -+ if (!(len = vfsalloc(fmt, ap))) -+ return; -+ va_end(ap); -+ -+ if (!(buf = malloc(len))) -+ return; -+ -+ va_start(ap, fmt); -+ vsprintf(buf, fmt, ap); -+ va_end(ap); -+ -+ fprintf(stderr, "Warning: %s\n", buf); -+ free(buf); - } - - /*----------------------------------------------------------------------------*/ - --void die( va_alist ) --va_dcl -+void die(char *fmt, ... ) - { -- va_list args; -- char *fmt; -+ va_list ap; -+ char *buf, *s; -+ int len; -+ -+ if (!fmt) -+ return; -+ -+ va_start(ap, fmt); -+ if (!(len = vfsalloc(fmt, ap))) -+ return; -+ va_end(ap); -+ -+ if (!(buf = malloc(len))) -+ return; - -- va_start( args ); -- fmt = va_arg( args, char * ); -- fprintf( stderr, "Error: " ); -- vfprintf( stderr, fmt, args ); -- exit( 1 ); -+ va_start(ap, fmt); -+ vsprintf(buf, fmt, ap); -+ va_end(ap); -+ -+ fprintf(stderr, "Error: %s\n", buf); -+ free(buf); -+ exit(1); - } - - /*----------------------------------------------------------------------------*/ - --void fatal( va_alist ) --va_dcl -+void fatal(char *fmt, ... ) - { -- va_list args; -- char *fmt; -+ va_list ap; -+ char *buf, *s; -+ int len; -+ -+ if (!fmt) -+ return; - -- va_start( args ); -- fmt = va_arg( args, char * ); -- fprintf( stderr, "Internal Error: " ); -- vfprintf( stderr, fmt, args ); -- exit( 2 ); -+ va_start(ap, fmt); -+ if (!(len = vfsalloc(fmt, ap))) -+ return; -+ va_end(ap); -+ -+ if (!(buf = malloc(len))) -+ return; -+ -+ va_start(ap, fmt); -+ vsprintf(buf, fmt, ap); -+ va_end(ap); -+ -+ fprintf(stderr, "Internal error: %s\n", buf); -+ free(buf); -+ exit(2); - } - - /*----------------------------------------------------------------------------*/ -@@ -142,21 +213,34 @@ - - /*----------------------------------------------------------------------------*/ - --void mailmessage( va_alist ) --va_dcl -+void mailmessage(char *fmt, ... ) - { -- va_list args; -- char *fmt; -+ va_list ap; -+ char *buf, s; -+ int len; - FILE *popen(), *fp; - char cmdline[80]; - if (whome == NULL) whome = getlogin(); - sprintf(cmdline,"%s %s",mailprog,whome); - fp = popen(cmdline,"w"); -- va_start( args ); -- fmt = va_arg( args, char * ); -- fprintf( fp, "MNM Warning: " ); -- vfprintf( fp, fmt, args ); -- va_end( args ); -+ -+ if (!fmt) -+ return; -+ -+ va_start(ap, fmt); -+ if (!(len = vfsalloc(fmt, ap))) -+ return; -+ va_end(ap); -+ -+ if (!(buf = malloc(len))) -+ return; -+ -+ va_start(ap, fmt); -+ vsprintf(buf, fmt, ap); -+ va_end(ap); -+ -+ fprintf(fp, "MNM Warning: %s", buf); -+ free(buf); - pclose(fp); - } |