/* ---------- */ /* najifrmt.c */ /* ---------- */ /* naji file format functions */ /* this .c file is a part */ /* of libnaji version 0.6.1 */ /* libnaji is based on */ /* the original najitool */ /* both najitool and libnaji */ /* are public domain and are */ /* made by the same author */ /* please read license.txt */ /* made by NECDET COKYAZICI */ /* charaftr and charbefr */ /* made by SELCUK OZDOGAN */ /* strbline and streline */ /* made by POLIKARP */ /* bremline, eremline */ /* made by SACHIN MANE */ #include "libnaji.h" void charwrap(int w, char *namein, char *nameout) { int a; int b; najin(namein); najout(nameout); b=0; loop { a = fgetc(naji_input); if (a == EOF) endloop; b++; if (b == w || a == '\n') { fputc('\n', naji_output); b=0; } fputc(a, naji_output); } najinclose(); najoutclose(); } void wordwrap(char *namein, char *nameout) { int i; int a; int b; najin(namein); najout(nameout); b=0; loop { a = fgetc(naji_input); if (a == EOF) endloop; b++; if (a == '\n') b=0; for (i=0; i<14; i++) if ( (b == 65+i) && ( a == ' ' || a == '-' || a == '+' || a == '_' || a == '/' || a == '\\' ) ) { fputc('\n', naji_output); b=0; break; } fputc(a, naji_output); } najinclose(); najoutclose(); } void numlines(char *namein, char *nameout) { int a; unsigned long line = 1; najin(namein); najout(nameout); fprintf(naji_output, "%lu ", line); loop { a = fgetc(naji_input); if (a == EOF) endloop; if (a == '\n') { line++; fprintf(naji_output, "\n%lu ", line); } else fputc(a, naji_output); } najinclose(); najoutclose(); } void charaftr(char *namein, char *nameout, char ch) { int a; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc(a, naji_output); fputc(ch, naji_output); } najinclose(); najoutclose(); } void charbefr(char *namein, char *nameout, char ch) { int a; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc(ch, naji_output); fputc(a, naji_output); } najinclose(); najoutclose(); } void rbcafter(char *namein, char *nameout) { int a; rand_init(); najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc(a, naji_output); fputc(rand() % 255, naji_output); } najinclose(); najoutclose(); } void rbcbefor(char *namein, char *nameout) { int a; rand_init(); najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc(rand() % 255, naji_output); fputc(a, naji_output); } najinclose(); najoutclose(); } void rtcafter(char *namein, char *nameout) { int a; rand_init(); najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc(a, naji_output); fputc( ( (rand() % 95)+' ' ), naji_output); } najinclose(); najoutclose(); } void rtcbefor(char *namein, char *nameout) { int a; rand_init(); najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; fputc( ( (rand() % 95)+' ' ), naji_output); fputc(a, naji_output); } najinclose(); najoutclose(); } void strbline(char *namein, char *nameout, char *str) { char buffer[4096]; najin(namein); najout(nameout); *buffer = '\0'; while(fgets(buffer, sizeof(buffer), naji_input)) { fprintf(naji_output, "%s%s", str, buffer); *buffer = '\0'; } najinclose(); najoutclose(); } void streline(char *namein, char *nameout, char *str) { char buffer[4096]; char lastchar=0; najin(namein); najout(nameout); *buffer = '\0'; while(fgets(buffer, sizeof(buffer), naji_input)) { lastchar = buffer[strlen(buffer)-1]; buffer[strlen(buffer)-1] ='\0'; fprintf(naji_output, "%s%s%c", buffer, str, lastchar); *buffer = '\0'; } najinclose(); najoutclose(); } void swapfeb(char *namein, char *namein2, char *nameout) { int a; int b; najin(namein); najin2(namein2); najout(nameout); while(1) { a = fgetc(naji_input); fgetc(naji_input2); b = fgetc(naji_input2); fgetc(naji_input); if (a == EOF) break; if (b == EOF) break; fputc(a, naji_output); fputc(b, naji_output); } najinclose(); najin2close(); najoutclose(); } void filbreed(char *namein, char *namein2, char *nameout) { int a; int b; najin(namein); najin2(namein2); najout(nameout); while(1) { a = fgetc(naji_input); b = fgetc(naji_input2); if (a == EOF) break; if (b == EOF) break; fputc(a, naji_output); fputc(b, naji_output); } najinclose(); najin2close(); najoutclose(); } void wordline(char *namein, char *nameout) { int a; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; if (a == ' ') a = '\n'; fputc(a, naji_output); } najinclose(); najoutclose(); } void bremline(char *str, char *namein, char *nameout) { char *tempbuf = NULL; int len; int a = 0; int i = 0; int cnt = 0; int pos = 0; len = strlen(str); tempbuf = (char *) calloc(len + 1, sizeof (char)); if (tempbuf == NULL) { fprintf(stderr, "\n\nError, cannot allocate memory"); perror(" "); fprintf(stderr, "\n\n"); exit(2); } najin(namein); najout(nameout); while (1) { a = fgetc(naji_input); if (a == EOF) { for (i=0; i 0) { line = (char*) malloc (sizeof(char)*i+1); fseek(naji_input, pos, SEEK_SET); fgets(line, (i+1), naji_input); if (strstr(line, str) == NULL) fprintf(naji_output, "%s\n", line); free(line); } pos = ftell(naji_input); c = fgetc(naji_input); } najinclose(); najoutclose(); } void skpalnum(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isalnum(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpalpha(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isalpha(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpcntrl(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (iscntrl(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpdigit(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isdigit(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpgraph(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isgraph(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skplower(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (islower(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpprint(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isprint(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skppunct(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (ispunct(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpspace(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isspace(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpupper(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isupper(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void skpxdigt(char *namein, char *nameout) { int skip = NAJI_FALSE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; skip = NAJI_FALSE; if (isxdigit(a)) skip = NAJI_TRUE; if (skip == NAJI_FALSE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlalnum(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isalnum(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlalpha(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isalpha(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlcntrl(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (iscntrl(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onldigit(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isdigit(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlgraph(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isgraph(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onllower(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (islower(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlprint(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isprint(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlpunct(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (ispunct(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlspace(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isspace(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlupper(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isupper(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void onlxdigt(char *namein, char *nameout) { int show = NAJI_TRUE; int a=0; najin(namein); najout(nameout); loop { a = fgetc(naji_input); if (a == EOF) endloop; show = NAJI_FALSE; if (isxdigit(a)) show = NAJI_TRUE; if (show == NAJI_TRUE) fputc(a, naji_output); } najinclose(); najoutclose(); } void tothe(char *str) { int i; int l; l = strlen(str); for (i=0; i<(l-1); i++) { printf("%c to the", str[i]); if (i == (l-1) ) break; putchar(' '); } putchar(str[l-1]); } void ftothe(char *namein, char *nameout) { int a; int i; long l; najin(namein); najout(nameout); l = najinsize(); for (i=0; i<(l-1); i++) { a = fgetc(naji_input); fprintf(naji_output, "%c to the", a); if (i == (l-1)) break; fputc(' ', naji_output); } a = fgetc(naji_input); fputc(a, naji_output); najinclose(); najoutclose(); } void strachar(char *str, char *namein, char *nameout) { int a; najin(namein); najout(nameout); while(1) { a = fgetc(naji_input); if (a == EOF) break; fputc(a, naji_output); fprintf(naji_output, str); } najinclose(); najoutclose(); } void strbchar(char *str, char *namein, char *nameout) { int a; najin(namein); najout(nameout); while(1) { a = fgetc(naji_input); if (a == EOF) break; fprintf(naji_output, str); fputc(a, naji_output); } najinclose(); najoutclose(); } void rstrach(int len, char *namein, char *nameout) { int a; int i; najin(namein); najout(nameout); while(1) { a = fgetc(naji_input); if (a == EOF) break; fputc(a, naji_output); for (i=0; i