From 6842c9bde8068b87c2a2bc98a4a3e2ff9ce72406 Mon Sep 17 00:00:00 2001 From: Piotr Nowicki Date: Mon, 16 Mar 2020 17:52:56 +0100 Subject: [PATCH] Add printing the read base64 code Signed-off-by: Piotr Nowicki --- programs/ssl/ssl_base64_dump.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/programs/ssl/ssl_base64_dump.c b/programs/ssl/ssl_base64_dump.c index 2ee1f113e..1ea02d075 100644 --- a/programs/ssl/ssl_base64_dump.c +++ b/programs/ssl/ssl_base64_dump.c @@ -145,6 +145,26 @@ void parse_arguments( int argc, char *argv[] ) } } +/* + * This function prints base64 code to the stdout + */ +void print_b64( const char *b, const size_t len ) +{ + size_t i = 0; + const char *end = b + len; + while( b < end ) + { + if( ++i > 70 ) + { + printf( "\n" ); + i = 0; + } + printf( "%c", *b++ ); + } + printf( "\n" ); + fflush( stdout ); +} + /* * Read next base64 code from the 'b64_file'. The 'b64_file' must be opened * previously. After each call to this function, the internal file position @@ -229,6 +249,8 @@ int main( int argc, char *argv[] ) { enum { B64BUF_LEN = 4 * 1024 }; char b64[ B64BUF_LEN ]; + uint32_t b64_counter = 0; + parse_arguments( argc, argv ); while( NULL != b64_file ) @@ -236,8 +258,17 @@ int main( int argc, char *argv[] ) size_t len = read_next_b64_code( b64, B64BUF_LEN ); if( len > 0) { + b64_counter++; + + if( debug ) + { + printf( "%u.\n", b64_counter ); + print_b64( b64, len ); + } /* TODO: deserializing */ + + printf( "\n" ); } else { @@ -246,5 +277,7 @@ int main( int argc, char *argv[] ) } } + printf( "Finish. Found %u base64 codes\n", b64_counter ); + return 0; }