From dd685e3d8b35973be28a03cfa0c20cd2b35b5cbd Mon Sep 17 00:00:00 2001 From: jaseg Date: Wed, 27 Apr 2016 20:16:49 +0200 Subject: [PATCH] Formatting fixes --- censor | Bin 26088 -> 26088 bytes censor.c | 54 ++++++++-------- lolcat | Bin 40904 -> 40840 bytes lolcat.c | 186 +++++++++++++++++++++++++++---------------------------- 4 files changed, 118 insertions(+), 122 deletions(-) diff --git a/censor b/censor index 7b9606e0d9e9af634d57d186209552e03579bec5..94b83f7ac9167e59e8abaaf06b47841d0fc36c5f 100755 GIT binary patch delta 5592 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 delta 5716 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 Ta%YM@XFwc8K49~~6m>=bb4f~< diff --git a/censor.c b/censor.c index 80eabc8..7efe81e 100644 --- a/censor.c +++ b/censor.c @@ -27,47 +27,43 @@ #include #include - -#define ARRAY_SIZE(foo) (sizeof(foo)/sizeof(foo[0])) -const char codes[] = {39,38,44,43,49,48,84,83,119,118,154,148,184,178,214,208,209,203,204,198,199,163,164,128,129,93,99,63,69,33}; - int main(int argc, char **argv){ - char **inputs = argv+1; - char **inputs_end = argv+argc; - if(inputs == inputs_end){ - char *foo[] = {"-"}; - inputs = foo; - inputs_end = inputs+1; - } + char **inputs = argv+1; + char **inputs_end = argv+argc; + if(inputs == inputs_end){ + char *foo[] = {"-"}; + inputs = foo; + inputs_end = inputs+1; + } - setlocale(LC_ALL, ""); + setlocale(LC_ALL, ""); - for(char **filename=inputs; filename 0){ + while((c = fgetwc(f)) > 0){ if(strchr("acegmnopqrsuvwxyz", c)) printf("▄"); else if(strchr(".,:; \t\r\n", c)) printf("%lc", c); else printf("█"); - } + } - fclose(f); + fclose(f); - if(c != WEOF && c != 0){ - fprintf(stderr, "Error reading input file \"%s\": %s\n", *filename, strerror(errno)); - return 2; - } - } + if(c != WEOF && c != 0){ + fprintf(stderr, "Error reading input file \"%s\": %s\n", *filename, strerror(errno)); + return 2; + } + } } diff --git a/lolcat b/lolcat index 682cf6092574349bc7494c71d2d5b31d5925b120..83fdf9ae3eab4cffc387ffd5d81aece68f512bd7 100755 GIT binary patch delta 6855 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 delta 7086 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 diff --git a/lolcat.c b/lolcat.c index 324de5b..9e9cdc5 100644 --- a/lolcat.c +++ b/lolcat.c @@ -53,119 +53,119 @@ static char helpstr[] = "\n" const char codes[] = {39,38,44,43,49,48,84,83,119,118,154,148,184,178,214,208,209,203,204,198,199,163,164,128,129,93,99,63,69,33}; void find_escape_sequences(int c, int *state){ - if(c == '\033'){ /* Escape sequence YAY */ - *state = 1; - }else if(*state == 1){ - if(('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) - *state = 2; - }else{ - *state = 0; - } + if(c == '\033'){ /* Escape sequence YAY */ + *state = 1; + }else if(*state == 1){ + if(('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) + *state = 2; + }else{ + *state = 0; + } } void usage(){ - printf("Usage: lolcat [-h horizontal_speed] [-v vertical_speed] [--] [FILES...]\n"); - exit(1); + printf("Usage: lolcat [-h horizontal_speed] [-v vertical_speed] [--] [FILES...]\n"); + exit(1); } void version(){ - printf("lolcat version 0.1, (c) 2014 jaseg\n"); - exit(0); + printf("lolcat version 0.1, (c) 2014 jaseg\n"); + exit(0); } int main(int argc, char **argv){ - int c, cc=-1, i, l=0; - int colors=(isatty(1) == 1); - double freq_h = 0.23, freq_v = 0.1; + int c, cc=-1, i, l=0; + int colors=1; + double freq_h = 0.23, freq_v = 0.1; - struct timeval tv; - gettimeofday(&tv, NULL); - double offx = (tv.tv_sec%300)/300.0; + struct timeval tv; + gettimeofday(&tv, NULL); + double offx = (tv.tv_sec%300)/300.0; - for(i=1;i 0){ - if(colors){ - find_escape_sequences(c, &escape_state); + while((c = fgetwc(f)) > 0){ + if(colors){ + find_escape_sequences(c, &escape_state); - if(!escape_state){ - if(c == '\n'){ - l++; - i = 0; - }else{ - int ncc = offx*ARRAY_SIZE(codes) + (int)((i+=wcwidth(c))*freq_h + l*freq_v); - if(cc != ncc) - printf("\033[38;5;%hhum", codes[(cc = ncc) % ARRAY_SIZE(codes)]); - } - } - } + if(!escape_state){ + if(c == '\n'){ + l++; + i = 0; + }else{ + int ncc = offx*ARRAY_SIZE(codes) + (int)((i+=wcwidth(c))*freq_h + l*freq_v); + if(cc != ncc) + printf("\033[38;5;%hhum", codes[(cc = ncc) % ARRAY_SIZE(codes)]); + } + } + } - printf("%lc", c); + printf("%lc", c); - if(escape_state == 2) - printf("\033[38;5;%hhum", codes[cc % ARRAY_SIZE(codes)]); - } - printf("\n\033[0m"); - cc = -1; + if(escape_state == 2) + printf("\033[38;5;%hhum", codes[cc % ARRAY_SIZE(codes)]); + } + printf("\n\033[0m"); + cc = -1; - fclose(f); + fclose(f); - if(c != WEOF && c != 0){ - fprintf(stderr, "Error reading input file \"%s\": %s\n", *filename, strerror(errno)); - return 2; - } - } + if(c != WEOF && c != 0){ + fprintf(stderr, "Error reading input file \"%s\": %s\n", *filename, strerror(errno)); + return 2; + } + } }