summaryrefslogtreecommitdiff
path: root/src/biruda.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2014-11-15 12:53:43 +0100
committerAndreas Baumann <mail@andreasbaumann.cc>2014-11-15 12:53:43 +0100
commit4b194132aa21b0477eecc074baa1045b7edca181 (patch)
tree67e3737782fd8ef648bc6552b73b97d75f1263b2 /src/biruda.c
parent160aa748295f1846d6d599d7145cd5d7bdd82f5f (diff)
downloadbiruda-4b194132aa21b0477eecc074baa1045b7edca181.tar.gz
biruda-4b194132aa21b0477eecc074baa1045b7edca181.tar.bz2
some cleanup in CLI
Diffstat (limited to 'src/biruda.c')
-rw-r--r--src/biruda.c33
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 );
}