diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2014-11-15 12:53:43 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2014-11-15 12:53:43 +0100 |
commit | 4b194132aa21b0477eecc074baa1045b7edca181 (patch) | |
tree | 67e3737782fd8ef648bc6552b73b97d75f1263b2 /src/biruda.c | |
parent | 160aa748295f1846d6d599d7145cd5d7bdd82f5f (diff) | |
download | biruda-4b194132aa21b0477eecc074baa1045b7edca181.tar.gz biruda-4b194132aa21b0477eecc074baa1045b7edca181.tar.bz2 |
some cleanup in CLI
Diffstat (limited to 'src/biruda.c')
-rw-r--r-- | src/biruda.c | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/src/biruda.c b/src/biruda.c index eeee719..a2fbc08 100644 --- a/src/biruda.c +++ b/src/biruda.c @@ -248,21 +248,34 @@ static void print_help( ) ); } -static void print_error( const char *fmt, ... ) +static void print_colored( const char *fmt, int color, va_list ap ) { - va_list ap; char buf[1024]; - va_start( ap, fmt ); (void)vsnprintf( buf, sizeof( buf ), fmt, ap ); - va_end( ap ); if( print_colors ) { - printf( "%c[9%dmERROR: %s%c[0m\n", 27, 1, buf, 27 ); + printf( "%c[9%dm%s%c[0m\n", 27, color, buf, 27 ); } else { puts( buf ); } } + +static void print_error( const char *fmt, ... ) +{ + va_list ap; + va_start( ap, fmt ); + print_colored( fmt, 1, ap ); + va_end( ap ); +} + +static void print_answer( const char *fmt, ... ) +{ + va_list ap; + va_start( ap, fmt ); + print_colored( fmt, 2, ap ); + va_end( ap ); +} static void print_status( ) { @@ -273,9 +286,15 @@ static void print_status( ) int len; http_retcode ret = http_get( url, &data, &len, NULL ); if( ret == 200 ) { - fwrite( data, len,1, stdout ); + if( strlen( data ) > 0 && data[strlen( data )-1] == '\n' ) { + data[strlen( data )-1] = '\0'; + } + if( strlen( data ) > 0 && data[strlen( data )-1] == '\r' ) { + data[strlen( data )-1] = '\0'; + } + print_answer( data ); } else { - print_error( "HTTP error %d", ret ); + print_error( "ERROR: HTTP error %d", ret ); } free( data ); } |