Nilorea Library crypto base64 api test.
int main( int argc , char *argv[] )
{
N_STR *example_text =
char_to_nstr(
"This is an example of base64 encode/decode, with a newline:\nThis is the end of the testing test." );
example_text -> written= 0 ;
while( example_text -> data[ example_text -> written ] != '\0' )
{
example_text -> written ++ ;
}
n_log(
LOG_NOTICE,
"Testing base64, encoding text of size (%ld/%ld):\n%s" , example_text -> written , example_text -> length ,
_nstr( example_text ) );
if( argc > 0 && argv[ 1 ] )
{
N_STR *input_data = NULL;
N_STR *output_name = NULL;
N_STR *output_data = NULL;
N_STR *decoded_data = NULL;
nstrprintf( output_name ,
"%s.encoded" , argv[ 1 ] );
n_log(
LOG_DEBUG ,
"Encoding file %s size %ld" , argv[ 1 ] , input_data -> written );
if( input_data )
{
n_log(
LOG_DEBUG ,
"Generated encoded %s version of size %ld" ,
_nstr( output_name ) , output_data -> written );
nstrprintf( output_name ,
"%s.decoded" , argv[ 1 ] );
n_log(
LOG_DEBUG ,
"Generated decoded %s version of size %ld" ,
_nstr( output_name ) , decoded_data -> written );
}
}
exit( 0 );
}
#define _nstr(__PTR)
N_STR or "NULL" string for logging purposes.
N_STR * n_base64_decode(N_STR *bufcoded)
decode a N_STR *string
N_STR * n_base64_encode(N_STR *input)
encode a N_STR *string
#define n_log(__LEVEL__,...)
Logging function wrapper to get line and func.
#define LOG_DEBUG
debug-level messages
void set_log_level(const int log_level)
Set the global log level value ( static int LOG_LEVEL )
#define LOG_NOTICE
normal but significant condition
#define free_nstr(__ptr)
free a N_STR structure and set the pointer to NULL
#define nstrprintf(__nstr_var,...)
Macro to quickly allocate and sprintf to N_STR *.
int nstr_to_file(N_STR *str, char *filename)
Write a N_STR content into a file.
N_STR * char_to_nstr(const char *src)
Convert a char into a N_STR, short version.
N_STR * file_to_nstr(char *filename)
Load a whole file into a N_STR.
A box including a string and his lenght.
base64 encoding and decoding functions using N_STR
List structures and definitions.
N_STR and string function declaration.