From f3f3d564de694c400ecdddd16a73a918b3c3229f Mon Sep 17 00:00:00 2001 From: SoloArchx250 Date: Sun, 21 Jun 2020 10:00:06 -0400 Subject: [PATCH] fixed file iteration issue --- .gitignore | 2 +- viewbin.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 59cd9ef..d8b2234 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -./viewbin +viewbin .ccls-cache/ diff --git a/viewbin.c b/viewbin.c index 766bf03..b5aeb31 100644 --- a/viewbin.c +++ b/viewbin.c @@ -35,6 +35,8 @@ void help() { printf("\t-h,--help\n\t\tDisplays this help message\n\n"); } +const char block[4] = {(char)0xe2,(char)0xac,(char)0x9c,'\0'}; + int main(int argc, char **argv) { int print_mode=HEX,file_index=1,file_found=0; if(!(argc > 1)) { @@ -78,7 +80,7 @@ int main(int argc, char **argv) { struct winsize w; ioctl(0, TIOCGWINSZ, &w); - int width=w.ws_col, height=w.ws_row; + int width=w.ws_col; int chunk_size=3; if(print_mode == INT) { @@ -97,6 +99,7 @@ int main(int argc, char **argv) { } char *text = (char *)malloc(length*sizeof(char)); + char *end = text+(length*sizeof(char)); size_t original = (size_t)text; fread(text,sizeof(char),length,file); int i=0,byte_index=0,bytes_shown=0; @@ -105,7 +108,7 @@ int main(int argc, char **argv) { int a=0; bytes_shown=0; while(a> 4 & 0x0F)); } else if(print_mode == INT) { @@ -117,6 +120,8 @@ int main(int argc, char **argv) { } else if(*text == '\t') { printf("\\t "); a++; + } else if(*text == ' ') { + printf("%s ",block); } else { printf("%c ",*text); }