diff --git a/src/print_helper.c b/src/print_helper.c new file mode 100644 index 0000000..15d409e --- /dev/null +++ b/src/print_helper.c @@ -0,0 +1,27 @@ +#include +#include "print_helper.h" + +int print_ascii_tbl (FILE *stream) { + for (char c = ' '; c <= '~'; c++) { + if(!fprintf(stream, "%c ", c)) { + return 0; + } + } + return fprintf(stream, "\n"); +} + + +int print_for_human (FILE *stream, const unsigned char *array, const int len) { + for (int i = 0; i < len; i++) { + if (array[i] >= ' ' && array[i] <= '~') { + if(!fprintf(stream, "%c ", array[i])) { + return 0; + } + } else { + if(!fprintf(stream, "\"0x%02x\"", array[i])) { + return 0; + } + } + } + return 0; +} diff --git a/src/print_helper.h b/src/print_helper.h new file mode 100644 index 0000000..415344a --- /dev/null +++ b/src/print_helper.h @@ -0,0 +1,7 @@ +#ifndef _PRINT_HELPER_H_ +#define _PRINT_HELPER_H_ + +int print_ascii_tbl (FILE *stream); +int print_for_human (FILE *stream, const unsigned char *array, const int len); + +#endif /* _PRINT_HELPER_H_ */