From 2f3c2f487059b685b6f295a8c27c1662f32554f4 Mon Sep 17 00:00:00 2001 From: David Shaw Date: Fri, 16 Jan 2004 05:16:42 +0000 Subject: * argparse.c (default_strusage): Update copyright date. (initialize): Avoid a number of -Wformat-nonliteral warnings. These aren't actual problems, but the warnings bothered me. * miscutil.c (print_string2): New variation on print_string that allows two delimiters. (print_string): Call print_string2 to do work. --- util/miscutil.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'util/miscutil.c') diff --git a/util/miscutil.c b/util/miscutil.c index 00805111f..16c382d86 100644 --- a/util/miscutil.c +++ b/util/miscutil.c @@ -1,5 +1,6 @@ /* miscutil.c - miscellaneous utilities - * Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. + * Copyright (C) 1998, 1999, 2000, 2001, 2003, + * 2004 Free Software Foundation, Inc. * * This file is part of GnuPG. * @@ -175,15 +176,18 @@ asctimestamp( u32 stamp ) return buffer; } + /**************** * Print a string to FP, but filter all control characters out. */ void -print_string( FILE *fp, const byte *p, size_t n, int delim ) +print_string2( FILE *fp, const byte *p, size_t n, int delim, int delim2 ) { for( ; n; n--, p++ ) - if( *p < 0x20 || (*p >= 0x7f && *p < 0xa0) || *p == delim || - (delim && *p=='\\')) { + if( *p < 0x20 || (*p >= 0x7f && *p < 0xa0) + || *p == delim || *p == delim2 + || ((delim || delim2) && *p=='\\')) + { putc('\\', fp); if( *p == '\n' ) putc('n', fp); @@ -199,9 +203,15 @@ print_string( FILE *fp, const byte *p, size_t n, int delim ) putc('0', fp); else fprintf(fp, "x%02x", *p ); - } + } else - putc(*p, fp); + putc(*p, fp); +} + +void +print_string( FILE *fp, const byte *p, size_t n, int delim ) +{ + print_string2(fp,p,n,delim,0); } /**************** -- cgit