1 /* ---------- */
2 /* najitool.c */
3 /* ---------- */
4 
5 /* najitool main module */
6 
7 /* this  .c  is a part of */
8 /* najitool version 0.8.4 */
9 
10 /* from najitool version 0.2.0 and */
11 /* above najitool will use libnaji */
12 /* this version uses libnaji 0.6.4 */
13 
14 /* both najitool and libnaji */
15 /* are public domain and are */
16 /* made by the same author   */
17 /* please read license.txt   */
18 
19 /* made by NECDET COKYAZICI  */
20 
21 #include "najitool.h"
22 
23 
24 /* ------------------- */
25 /* Program Exit Values */
26 /* ------------------- */
27 
28 /* 0 - Program exited normally.
29  * 1 - Too many or too few parameters.
30  * 2 - Error opening input file.
31  * 3 - Ouput file already exists.
32  * 4 - Error opening output file.
33  * 5 - Error opening second input file.
34  * 6 - Error opening edit file.
35  * 7 - Unknown command.
36  * 8 - Help error.
37  * 9 - Memory allocation error.
38  */
39 
40 
41 unsigned long int naji_max_unsigned_long_int = 0;
42 
43 
44 
45 
46 
47 const char * najitool_valid_commands[NAJITOOL_MAX_COMMANDS] = {
48 "8bit256",
49 "addim",
50 "addline",
51 "allbmp16",
52 "allfiles",
53 "arab2eng",
54 "asc2ebc",
55 "asctable",
56 "ay",
57 "ayinkaci",
58 "bigascif",
59 "bigascii",
60 "bin2c",
61 "bin2hexi",
62 "bin2text",
63 "blanka",
64 "bremline",
65 "bugun",
66 "bytsplit",
67 "calc",
68 "cat_head",
69 "cat_tail",
70 "cat_text",
71 "catrandl",
72 "ccompare",
73 "cfind",
74 "cfindi",
75 "charaftr",
76 "charbefr",
77 "charfile",
78 "charsort",
79 "charwrap",
80 "chchar",
81 "chchars",
82 "chstr",
83 "coffset",
84 "compare",
85 "copyfile",
86 "copyoffs",
87 "copyself",
88 "cpfroml",
89 "cptiline",
90 "credits",
91 "database",
92 "datetime",
93 "dayofmon",
94 "dos2unix",
95 "downlist",
96 "dumpoffs",
97 "e2ahtml",
98 "ebc2asc",
99 "eng2arab",
100 "engnum",
101 "eremline",
102 "f2lower",
103 "f2upper",
104 "filbreed",
105 "file2bin",
106 "file2dec",
107 "file2hex",
108 "filechop",
109 "filejoin",
110 "fillfile",
111 "find",
112 "findi",
113 "flipcopy",
114 "freverse",
115 "fswpcase",
116 "ftothe",
117 "gbsplit",
118 "gdivide",
119 "genhelp",
120 "genlic",
121 "getlinks",
122 "gigabyte",
123 "gminus",
124 "gplus",
125 "gtimes",
126 "help",
127 "hexicat",
128 "hilist",
129 "hmaker",
130 "hmakerf",
131 "howline",
132 "html2txt",
133 "html_db",
134 "htmlfast",
135 "htmlhelp",
136 "istrael",
137 "istreml",
138 "kbsplit",
139 "kitten",
140 "lcharvar",
141 "lcvfiles",
142 "leetfile",
143 "leetstr",
144 "length",
145 "lensortl",
146 "lensorts",
147 "license",
148 "lineback",
149 "linesnip",
150 "listdigt",
151 "listlowr",
152 "listprnt",
153 "listuppr",
154 "longline",
155 "makarray",
156 "mathgame",
157 "mbsplit",
158 "mergline",
159 "mjoin",
160 "mkpatch",
161 "month",
162 "mp3split",
163 "mp3taged",
164 "mp3tagnf",
165 "n2ch",
166 "n2str",
167 "najcrypt",
168 "naji_bmp",
169 "najirle",
170 "najisum",
171 "numlines",
172 "onlalnum",
173 "onlalpha",
174 "onlcntrl",
175 "onldigit",
176 "onlgraph",
177 "onllower",
178 "onlprint",
179 "onlpunct",
180 "onlspace",
181 "onlupper",
182 "onlxdigt",
183 "onlycat",
184 "onlychar",
185 "patch",
186 "printftx",
187 "putlines",
188 "qcrypt",
189 "qpatch",
190 "randkill",
191 "rbcafter",
192 "rbcbefor",
193 "rcharvar",
194 "rcvfiles",
195 "remline",
196 "removel",
197 "repcat",
198 "repcatpp",
199 "repchar",
200 "repcharp",
201 "replacel",
202 "revcat",
203 "revlines",
204 "rmunihtm",
205 "rndbfile",
206 "rndbsout",
207 "rndffill",
208 "rndlines",
209 "rndtfile",
210 "rndtsout",
211 "rrrchars",
212 "rstrach",
213 "rstrbch",
214 "rtcafter",
215 "rtcbefor",
216 "saat",
217 "saatarih",
218 "showline",
219 "skipcat",
220 "skipchar",
221 "skipstr",
222 "skpalnum",
223 "skpalpha",
224 "skpcntrl",
225 "skpdigit",
226 "skpgraph",
227 "skplower",
228 "skpprint",
229 "skppunct",
230 "skpspace",
231 "skpupper",
232 "skpxdigt",
233 "sort",
234 "sortlast",
235 "sp2ce2sp",
236 "sp2re2sp",
237 "spyramid",
238 "strachar",
239 "strbchar",
240 "strbline",
241 "streline",
242 "strfile",
243 "swapfeb",
244 "systemdt",
245 "tabspace",
246 "telltime",
247 "today",
248 "tothe",
249 "ttt",
250 "turnum",
251 "txt2html",
252 "unajirle",
253 "unblanka",
254 "unihtml",
255 "unix2dos",
256 "uudecode",
257 "uuencode",
258 "vowelwrd",
259 "weakrypt",
260 "wordline",
261 "wordwrap",
262 "wrdcount",
263 "year",
264 "yil",
265 "zerokill",
266 };
267 
forhelp(void)268 void forhelp(void)
269 {
270 
271     printf("\n");
272     printf("  For a list of najitool commands type the following:\n\n");
273 
274     printf("    najitool help commands\n\n");
275 
276     printf("  And to get detailed information on a particular command\n");
277     printf("  for example the command bin2c type the following:\n");
278     printf("\n");
279     printf("    najitool help bin2c\n\n");
280 
281 }
282 
283 
najitool_check_command(char * cmd)284 void najitool_check_command(char *cmd)
285 {
286 int i;
287 
288 
289  for (i=0; i<NAJITOOL_MAX_COMMANDS; i++)
290  {
291 
292   if (!strcmp(cmd, najitool_valid_commands[i]))
293   {
294 #ifdef NAJI_DEBUG
295  fprintf(stderr, "\n\nNAJI_DEBUG - VALID COMMAND: %s\n\n", cmd);
296  fgetc(stdin);
297 #endif
298   return;
299   }
300 
301  }
302 
303 fprintf(stderr, "\nError, unknown command: %s\n\n", cmd);
304 forhelp();
305 
306 exit(7);
307 }
308 
309 
310 
311 
naji_stdin_msg(void)312 void naji_stdin_msg(void)
313 {
314     fprintf(stderr, "\nTaking input from standard input,\n");
315     fprintf(stderr, "usually keyboard.\n\n");
316     fprintf(stderr, "On most systems you can quit with\n");
317     fprintf(stderr, "pressing Ctrl and C at the same time.\n");
318 }
319 
320 
tooparam(char * cmd)321 void tooparam(char *cmd)
322 {
323 fprintf(stderr, "\n\n%s: too many parameters.\n", cmd);
324 najitool_command_help(cmd);
325 exit(1);
326 }
327 
328 
notparam(char * cmd)329 void notparam(char *cmd)
330 {
331 fprintf(stderr, "\n\n%s: not enough parameters.\n", cmd);
332 najitool_command_help(cmd);
333 exit(1);
334 }
335 
336 
337 #define begin_cmd(nt_cmd, minargs)\
338 if (!strcmp(argv[1], nt_cmd))\
339 {\
340 if (argc > minargs)\
341 tooparam(nt_cmd);\
342 if (argc < minargs)\
343 notparam(nt_cmd);\
344 if (argc == minargs) {
345 
346 #define end_cmd() } return 0; }
347 
348 
main(int argc,char * argv[])349 int main(int argc, char *argv[])
350 {
351 unsigned int repeat=0;
352 char **tags;
353 int i;
354 int a;
355 int b;
356 float gdivide_a;
357 float gdivide_b;
358 
359 
360 char are_you_sure[100];
361 
362 #ifdef NAJI_DEBUG
363 
364  fprintf(stderr, "\n\n");
365  fprintf(stderr, "NAJI_DEBUG - check if two commands are displayed as one joined string,\n");
366  fprintf(stderr, "             you might have missed a , in najitool_valid_commands[]\n\n");
367 
368  for (i=0; i<NAJITOOL_MAX_COMMANDS; i++)
369  fprintf(stderr, "%s ", najitool_valid_commands[i]);
370  fgetc(stdin);
371 
372 #endif /* NAJI_DEBUG */
373 
374 
375 
376 #ifdef NAJI_DEBUG
377     fprintf(stderr, "\n\nNAJI_DEBUG - YOUR PARAMETERS/ARGUMENTS:\n\n");
378 
379     for (i=0; i<argc; i++)
380     fprintf(stderr, "%s ", argv[i]);
381 
382     fprintf(stderr, "\n\n");
383 
384     fgetc(stdin);
385 #endif /* NAJI_DEBUG */
386 
387 
388 
389     if (argc >= 2)
390     {
391     tolowers(argv[1]);
392     najitool_check_command(argv[1]);
393     }
394 
395 
396     if (argc == 1)
397     {
398     printf("\n\n");
399 
400 
401 /*
402 printf("           __    |         \n");
403 printf("          /  \\   |        \n");
404 printf("     /   _____|  | o \\    \n");
405 printf("    |    \\  o    |___|    \n");
406 printf("     \\____\\              \n");
407 printf("      o o    T O O L       \n");
408 */
409 
410 
411 printf("           __    |          ********************************************\n");
412 printf("          /  \\   |               najitool 0.8.4 using libnaji 0.6.4     \n");
413 printf("     /   _____|  | o \\            both written by NECDET COKYAZICI      \n");
414 printf("    |    \\  o    |___|                   and contributors              \n");
415 printf("     \\____\\                 ********************************************\n");
416 printf("      o o    T O O L         No warranty, to view the license type:     \n");
417 printf("                                         najitool license               \n");
418 printf("  http://najitool.sf.net/   ********************************************\n");
419 printf("                             To view the credits type: najitool credits \n");
420 printf("  Public Domain, 2003-2011  ********************************************\n");
421 printf("\n");
422 
423 
424 forhelp();
425 
426 
427     return 0;
428     }
429 
430 
431 
432     if (argc >= 2)
433     {
434 
435 
436         if (!strcmp(argv[1], "mp3taged"))
437         {
438 
439             if ((argc % 2 != 1) | (argc == 3))
440             {
441             printf("mp3taged: too few arguments '%s'\n", argv[1]);
442             return 1;
443             }
444 
445             /*
446              * we save the tags' options:
447              * tags[i] = <tag name>
448              * tags[i+1] = <user content>
449              * ..
450              */
451 
452             tags = (char**) malloc (sizeof(char*)*(argc-3)*2);
453 
454             for (i=0; i<(argc-3)*2; i+=2)
455             tags[i] = (char*) malloc(7*sizeof(char));
456 
457             for (i=1; i<(argc-3)*2; i+=2)
458             tags[i] = argv[i+2];
459 
460             for (i=0; i<(argc-3)*2; i+=2)
461             memcpy (tags[i], argv[i+2], 7);
462 
463             mp3editag (argv[argc-1], tags, argc-3);
464 
465             for (i=0; i<(argc-3)*2; i+=2)
466             free(tags[i]);
467 
468             free(tags);
469 
470         return 0;
471         }
472 
473         if (!strcmp(argv[1], "credits"))
474         {
475 
476             if (argc > 2)
477             tooparam("credits");
478 
479             naji_credits();
480 
481             return 0;
482         }
483 
484         if (!strcmp(argv[1], "asctable"))
485         {
486 
487             if (argc > 2)
488             tooparam("asctable");
489 
490             asctable();
491             return 0;
492         }
493 
494         if (!strcmp(argv[1], "engnum"))
495         {
496 
497             if (argc > 2)
498             tooparam("engnum");
499 
500             engnum();
501             return 0;
502         }
503 
504         if (!strcmp(argv[1], "turnum"))
505         {
506 
507             if (argc > 2)
508             tooparam("turnum");
509 
510             turnum();
511             return 0;
512         }
513 
514         if (!strcmp(argv[1], "najcrypt"))
515         {
516 
517             if (argc > 2)
518             tooparam("najcrypt");
519 
520             najcrypt();
521             return 0;
522         }
523 
524         if (!strcmp(argv[1], "database"))
525         {
526 
527             if (argc > 2)
528             tooparam("database");
529 
530             naji_database();
531             return 0;
532         }
533 
534         if (!strcmp(argv[1], "html_db"))
535         {
536 
537             if (argc > 2)
538             tooparam("html_db");
539 
540             naji_html_database();
541             return 0;
542         }
543 
544         if (!strcmp(argv[1], "calc"))
545         {
546 
547             if (argc > 2)
548             tooparam("calc");
549 
550             naji_calc();
551             return 0;
552         }
553 
554         if (!strcmp(argv[1], "length"))
555         {
556 
557             if (argc > 2)
558             tooparam("length");
559 
560             length();
561             return 0;
562         }
563 
564         if (!strcmp(argv[1], "mathgame"))
565         {
566 
567             if (argc > 2)
568             tooparam("mathgame");
569 
570             mathgame();
571             return 0;
572         }
573 
574         if (!strcmp(argv[1], "license"))
575         {
576 
577             if (argc > 2)
578             tooparam("license");
579 
580             naji_license();
581             return 0;
582         }
583 
584         if (!strcmp(argv[1], "ttt"))
585         {
586 
587             if (argc > 2)
588             tooparam("ttt");
589 
590             ttt();
591             return 0;
592         }
593 
594         if (!strcmp(argv[1], "naji_bmp"))
595         {
596             if (argc > 2)
597             tooparam("naji_bmp");
598 
599             naji_bmp();
600             return 0;
601         }
602 
603         if (!strcmp(argv[1], "unihtml"))
604         {
605 
606             if (argc > 2)
607             tooparam("unihtml");
608 
609             naji_gen_unicode_html_pages();
610             return 0;
611         }
612 
613         if (!strcmp(argv[1], "rmunihtm"))
614         {
615 
616             if (argc > 2)
617             tooparam("rmunihtm");
618 
619             naji_del_gen_unicode_html_pages();
620             return 0;
621         }
622 
623         if (!strcmp(argv[1], "cat_text"))
624         {
625 
626             if (argc == 2)
627             {
628             naji_stdin_msg();
629             cat_text_stdin();
630             return 0;
631             }
632 
633             if (argc == 3)
634             {
635             cat_text(argv[2]);
636             return 0;
637             }
638 
639             if (argc > 3)
640             tooparam("cat_text");
641 
642             return 0;
643         }
644 
645         if (!strcmp(argv[1], "kitten"))
646         {
647 
648             if (argc == 2)
649             {
650             naji_stdin_msg();
651             kitten_stdin();
652             return 0;
653             }
654 
655             if (argc == 3)
656             {
657             kitten(argv[2]);
658             return 0;
659             }
660 
661             if (argc > 3)
662             tooparam("kitten");
663 
664         return 0;
665         }
666 
667         if (!strcmp(argv[1], "genlic"))
668         {
669 
670             if (argc > 2)
671             tooparam("genlic");
672 
673             naji_genlic();
674             return 0;
675         }
676 
677         if (!strcmp(argv[1], "genhelp"))
678         {
679 
680             if (argc > 2)
681             tooparam("genhelp");
682 
683             najitool_generate_help();
684             return 0;
685         }
686 
687         if (!strcmp(argv[1], "htmlhelp"))
688         {
689             if (argc > 2)
690             tooparam("htmlhelp");
691 
692             najitool_generate_help_html();
693             return 0;
694         }
695 
696         if (!strcmp(argv[1], "systemdt"))
697         {
698             if (argc > 2)
699             tooparam("systemdt");
700 
701             systemdt();
702             return 0;
703         }
704 
705 
706         if (!strcmp(argv[1], "datetime"))
707         {
708 
709             if (argc > 2)
710             tooparam("datetime");
711 
712             datetime();
713             return 0;
714         }
715 
716         if (!strcmp(argv[1], "telltime"))
717         {
718 
719             if (argc > 2)
720             tooparam("telltime");
721 
722             printf("\n\n");
723             telltime();
724             printf("\n\n");
725 
726             return 0;
727         }
728 
729         if (!strcmp(argv[1], "today"))
730         {
731 
732             if (argc > 2)
733             tooparam("today");
734 
735             printf("\n\n");
736             today();
737             printf("\n\n");
738 
739             return 0;
740         }
741 
742         if (!strcmp(argv[1], "dayofmon"))
743         {
744 
745             if (argc > 2)
746             tooparam("dayofmon");
747 
748             printf("\n\n");
749             dayofmon();
750             printf("\n\n");
751 
752             return 0;
753         }
754 
755         if (!strcmp(argv[1], "month"))
756         {
757 
758             if (argc > 2)
759             tooparam("month");
760 
761             printf("\n\n");
762             month();
763             printf("\n\n");
764 
765             return 0;
766         }
767 
768         if (!strcmp(argv[1], "year"))
769         {
770 
771             if (argc > 2)
772             tooparam("year");
773 
774             printf("\n\n");
775             year();
776             printf("\n\n");
777 
778             return 0;
779         }
780 
781         if (!strcmp(argv[1], "saatarih"))
782         {
783 
784             if (argc > 2)
785             tooparam("saatarih");
786 
787             saatarih();
788             return 0;
789         }
790 
791         if (!strcmp(argv[1], "saat"))
792         {
793 
794             if (argc > 2)
795             tooparam("saat");
796 
797             printf("\n\n");
798             saat();
799             printf("\n\n");
800 
801             return 0;
802         }
803 
804         if (!strcmp(argv[1], "bugun"))
805         {
806             if (argc > 2)
807             tooparam("bugun");
808 
809             printf("\n\n");
810             bugun();
811             printf("\n\n");
812 
813             return 0;
814         }
815 
816         if (!strcmp(argv[1], "ayinkaci"))
817         {
818 
819             if (argc > 2)
820             tooparam("ayinkaci");
821 
822             printf("\n\n");
823             ayinkaci();
824             printf("\n\n");
825 
826             return 0;
827         }
828 
829         if (!strcmp(argv[1], "ay"))
830         {
831 
832             if (argc > 2)
833             tooparam("ay");
834 
835             printf("\n\n");
836             ay();
837             printf("\n\n");
838 
839             return 0;
840         }
841 
842         if (!strcmp(argv[1], "yil"))
843         {
844             if (argc > 2)
845             tooparam("yil");
846 
847             printf("\n\n");
848             yil();
849             printf("\n\n");
850 
851             return 0;
852         }
853 
854 
855         if (!strcmp(argv[1], "allbmp16"))
856         {
857             if (argc > 2)
858             tooparam("allbmp16");
859 
860             printf("\n\n");
861             allbmp16();
862             printf("\n\n");
863 
864             return 0;
865         }
866 
867 
868         if (!strcmp(argv[1], "help"))
869         {
870 
871             if (argc == 2)
872             {
873             printf("\n\nAvailable help catagories:\n\n");
874             printf("commands\n");
875             printf("\n\n");
876             forhelp();
877             return 0;
878             }
879 
880 
881             if (argc == 3)
882             {
883 
884                   if (!strcmp(argv[2], "commands"))
885                   najitool_help_commands();
886 
887                   else najitool_command_help(argv[2]);
888 
889                   return 0;
890             }
891 
892 
893             if (argc > 3)
894             tooparam("help");
895 
896             return 0;
897         }
898 
899 
900 
901 begin_cmd("mergline", 7)
902 mergline(argv[2], argv[3], argv[4], argv[5], argv[6]);
903 end_cmd()
904 
905 begin_cmd("mp3split", 6)
906 mp3split(argv[4], argv[5], atoi(argv[2]), atoi(argv[3]));
907 end_cmd()
908 
909 begin_cmd("rrrchars", 6)
910 rrrchars(argv[2], argv[3], atoi(argv[4]), atoi(argv[5]));
911 end_cmd()
912 
913 begin_cmd("chstr", 6)
914 chstr(argv[2], argv[3], argv[4], argv[5]);
915 end_cmd()
916 
917 begin_cmd("chchars", 6)
918 chchars(argv[2], argv[3], argv[4], argv[5]);
919 end_cmd()
920 
921 begin_cmd("chchar", 6)
922 chchar(argv[2], argv[3], argv[4][0], argv[5][0]);
923 end_cmd()
924 
925 begin_cmd("filechop", 6)
926 filechop( (strtol(argv[2], NULL, 0)), argv[3], argv[4], argv[5]);
927 end_cmd()
928 
929 begin_cmd("putlines", 6)
930 putlines(argv[2], argv[3], argv[4], argv[5]);
931 end_cmd()
932 
933 begin_cmd("copyoffs", 6)
934 copyoffs(argv[2], strtoul(argv[3], NULL, 0), strtoul(argv[4], NULL, 0), argv[5]);
935 end_cmd()
936 
937 begin_cmd("istrael", 6)
938 istrael(argv[2], atoi(argv[3]), argv[4], argv[5]);
939 end_cmd()
940 
941 begin_cmd("addline", 6)
942 addline(argv[2], argv[3], argv[4], strtoul(argv[5], NULL, 0));
943 end_cmd()
944 
945 begin_cmd("replacel", 6)
946 replacel(argv[2], argv[3], argv[4], strtoul(argv[5], NULL, 0));
947 end_cmd()
948 
949 
950 begin_cmd("bremline", 5)
951 bremline(argv[2], argv[3], argv[4]);
952 end_cmd()
953 
954 begin_cmd("eremline", 5)
955 eremline(argv[2], argv[3], argv[4]);
956 end_cmd()
957 
958 begin_cmd("remline", 5)
959 remline(argv[2], argv[3], argv[4]);
960 end_cmd()
961 
962 begin_cmd("skipstr", 5)
963 skipstr(argv[2], argv[3], argv[4]);
964 end_cmd()
965 
966 begin_cmd("makarray", 5)
967 makarray(argv[2], argv[3], argv[4]);
968 end_cmd()
969 
970 begin_cmd("streline", 5)
971 streline(argv[2], argv[3], argv[4]);
972 end_cmd()
973 
974 begin_cmd("strbline", 5)
975 strbline(argv[2], argv[3], argv[4]);
976 end_cmd()
977 
978 begin_cmd("swapfeb", 5)
979 swapfeb(argv[2], argv[3], argv[4]);
980 end_cmd()
981 
982 begin_cmd("filbreed", 5)
983 filbreed(argv[2], argv[3], argv[4]);
984 end_cmd()
985 
986 begin_cmd("skipchar", 5)
987 skipchar(argv[2], argv[3], argv[4]);
988 end_cmd()
989 
990 begin_cmd("onlychar", 5)
991 onlychar(argv[2], argv[3], argv[4]);
992 end_cmd()
993 
994 begin_cmd("repchar", 5)
995 repeat = (unsigned int) atoi(argv[4]);
996 repchar(argv[2], argv[3], repeat);
997 end_cmd()
998 
999 begin_cmd("linesnip", 5)
1000 repeat = (unsigned int) atoi(argv[2]);
1001 linesnip(repeat, argv[3], argv[4]);
1002 end_cmd()
1003 
1004 begin_cmd("charwarp", 5)
1005 repeat = (unsigned int) atoi(argv[4]);
1006 charwrap(repeat, argv[2], argv[3]);
1007 end_cmd()
1008 
1009 begin_cmd("repcharp", 5)
1010 repeat = (unsigned int) atoi(argv[4]);
1011 repcharp(argv[2], argv[3], repeat);
1012 end_cmd()
1013 
1014 begin_cmd("coffset", 5)
1015 coffset(argv[2], strtoul(argv[3], NULL, 0), strtoul(argv[4], NULL, 0));
1016 end_cmd()
1017 
1018 begin_cmd("dumpoffs", 5)
1019 dumpoffs(argv[2], strtoul(argv[3], NULL, 0), strtoul(argv[4], NULL, 0));
1020 end_cmd()
1021 
1022 begin_cmd("bin2c", 5)
1023 bin2c(argv[2], argv[3], argv[4]);
1024 end_cmd()
1025 
1026 begin_cmd("filejoin", 5)
1027 filejoin(argv[2], argv[3], argv[4]);
1028 end_cmd()
1029 
1030 begin_cmd("mkpatch", 5)
1031 mkpatch(argv[2], argv[3], argv[4]);
1032 end_cmd()
1033 
1034 begin_cmd("charfile", 5)
1035 repeat = (unsigned int) atoi(argv[3]);
1036 charfile(argv[2], repeat, argv[4][0]);
1037 end_cmd()
1038 
1039 begin_cmd("strfile", 5)
1040 repeat = (unsigned int) atoi(argv[3]);
1041 strfile(argv[2], repeat, argv[4]);
1042 end_cmd()
1043 
1044 begin_cmd("tabspace", 5)
1045 repeat = atoi(argv[2]);
1046 tabspace(repeat, argv[3], argv[4]);
1047 end_cmd()
1048 
1049 begin_cmd("charaftr", 5)
1050 charaftr(argv[2], argv[3], argv[4][0]);
1051 end_cmd()
1052 
1053 begin_cmd("charbefr", 5)
1054 charbefr(argv[2], argv[3], argv[4][0]);
1055 end_cmd()
1056 
1057 begin_cmd("strachar", 5)
1058 strachar(argv[2], argv[3], argv[4]);
1059 end_cmd()
1060 
1061 begin_cmd("strbchar", 5)
1062 strbchar(argv[2], argv[3], argv[4]);
1063 end_cmd()
1064 
1065 begin_cmd("rstrach", 5)
1066 rstrach(atoi(argv[2]), argv[3], argv[4]);
1067 end_cmd()
1068 
1069 begin_cmd("rstrbch", 5)
1070 rstrbch(atoi(argv[2]), argv[3], argv[4]);
1071 end_cmd()
1072 
1073 begin_cmd("cpfroml", 5)
1074 cpfroml(atoi(argv[2]), argv[3], argv[4]);
1075 end_cmd()
1076 
1077 begin_cmd("cptiline", 5)
1078 cptiline(atoi(argv[2]), argv[3], argv[4]);
1079 end_cmd()
1080 
1081 begin_cmd("n2ch", 5)
1082 n2ch(argv[2][0], argv[3], argv[4]);
1083 end_cmd()
1084 
1085 begin_cmd("n2str", 5)
1086 n2str(argv[2], argv[3], argv[4]);
1087 end_cmd()
1088 
1089 begin_cmd("weakrypt", 5)
1090 weakrypt(argv[2], argv[3], argv[4]);
1091 end_cmd()
1092 
1093 begin_cmd("sp2ce2sp", 5)
1094 sp2ce2sp(argv[2][0], argv[3], argv[4]);
1095 end_cmd()
1096 
1097 begin_cmd("istreml", 5)
1098 istreml(argv[2], argv[3], argv[4]);
1099 end_cmd()
1100 
1101 begin_cmd("removel", 5)
1102 removel(argv[2], argv[3], strtoul(argv[4], NULL, 0));
1103 end_cmd()
1104 
1105 
1106 
1107 
1108 begin_cmd("printftx", 4)
1109 printftx(argv[2], argv[3]);
1110 end_cmd()
1111 
1112 begin_cmd("lensorts", 4)
1113 lensorts(argv[2], argv[3]);
1114 end_cmd()
1115 
1116 begin_cmd("lensortl", 4)
1117 lensortl(argv[2], argv[3]);
1118 end_cmd()
1119 
1120 begin_cmd("find", 4)
1121 find(argv[2], argv[3]);
1122 end_cmd()
1123 
1124 begin_cmd("findi", 4)
1125 findi(argv[2], argv[3]);
1126 end_cmd()
1127 
1128 begin_cmd("cfind", 4)
1129 cfind(argv[2], argv[3]);
1130 end_cmd()
1131 
1132 begin_cmd("cfindi", 4)
1133 cfindi(argv[2], argv[3]);
1134 end_cmd()
1135 
1136 begin_cmd("showline", 4)
1137 showline(argv[2], atoi(argv[3]));
1138 end_cmd()
1139 
1140 begin_cmd("cat_tail", 4)
1141 cat_tail(argv[2], atoi(argv[3]));
1142 end_cmd()
1143 
1144 begin_cmd("cat_head", 4)
1145 cat_head(argv[2], atoi(argv[3]));
1146 end_cmd()
1147 
1148 begin_cmd("getlinks", 4)
1149 getlinks(argv[2], argv[3]);
1150 end_cmd()
1151 
1152 begin_cmd("f2upper", 4)
1153 f2upper(argv[2], argv[3]);
1154 end_cmd()
1155 
1156 begin_cmd("f2lower", 4)
1157 f2lower(argv[2], argv[3]);
1158 end_cmd()
1159 
1160 begin_cmd("fswpcase", 4)
1161 fswpcase(argv[2], argv[3]);
1162 end_cmd()
1163 
1164 begin_cmd("downlist", 4)
1165 downlist(argv[2], argv[3]);
1166 end_cmd()
1167 
1168 begin_cmd("hilist", 4)
1169 hilist(argv[2], argv[3]);
1170 end_cmd()
1171 
1172 begin_cmd("rtcafter", 4)
1173 rtcafter(argv[2], argv[3]);
1174 end_cmd()
1175 
1176 begin_cmd("rtcbefor", 4)
1177 rtcbefor(argv[2], argv[3]);
1178 end_cmd()
1179 
1180 begin_cmd("rbcafter", 4)
1181 rbcafter(argv[2], argv[3]);
1182 end_cmd()
1183 
1184 begin_cmd("rbcbefor", 4)
1185 rbcbefor(argv[2], argv[3]);
1186 end_cmd()
1187 
1188 begin_cmd("numlines", 4)
1189 numlines(argv[2], argv[3]);
1190 end_cmd()
1191 
1192 begin_cmd("file2dec", 4)
1193 file2dec(argv[2], argv[3]);
1194 end_cmd()
1195 
1196 begin_cmd("file2hex", 4)
1197 file2hex(argv[2], argv[3]);
1198 end_cmd()
1199 
1200 begin_cmd("file2bin", 4)
1201 file2bin(argv[2], argv[3]);
1202 end_cmd()
1203 
1204 begin_cmd("wordline", 4)
1205 wordline(argv[2], argv[3]);
1206 end_cmd()
1207 
1208 begin_cmd("8bit256", 4)
1209 repeat = (unsigned int) atoi(argv[3]);
1210 _8bit256(argv[2], repeat);
1211 end_cmd()
1212 
1213 begin_cmd("eng2arab", 4)
1214 eng2arab(argv[2], argv[3]);
1215 end_cmd()
1216 
1217 begin_cmd("arab2eng", 4)
1218 arab2eng(argv[2], argv[3]);
1219 end_cmd()
1220 
1221 begin_cmd("e2ahtml", 4)
1222 e2ahtml(argv[2], argv[3]);
1223 end_cmd()
1224 
1225 begin_cmd("freverse", 4)
1226 freverse(argv[2], argv[3]);
1227 end_cmd()
1228 
1229 begin_cmd("repcat", 4)
1230 repeat = (unsigned int) atoi(argv[3]);
1231 repcat(argv[2], repeat);
1232 end_cmd()
1233 
1234 begin_cmd("repcatpp", 4)
1235 repeat = (unsigned int) atoi(argv[3]);
1236 repcatpp(argv[2], repeat);
1237 end_cmd()
1238 
1239 begin_cmd("copyfile", 4)
1240 copyfile(argv[2], argv[3]);
1241 end_cmd()
1242 
1243 begin_cmd("qpatch", 4)
1244 qpatch(argv[2], argv[3]);
1245 end_cmd()
1246 
1247 begin_cmd("flipcopy", 4)
1248 flipcopy(argv[2], argv[3]);
1249 end_cmd()
1250 
1251 begin_cmd("fillfile", 4)
1252 fillfile(argv[2], argv[3][0]);
1253 end_cmd()
1254 
1255 begin_cmd("bin2text", 4)
1256 bin2text(argv[2], argv[3]);
1257 end_cmd()
1258 
1259 begin_cmd("bin2hexi", 4)
1260 bin2hexi(argv[2], argv[3]);
1261 end_cmd()
1262 
1263 begin_cmd("rndbfile", 4)
1264 rndbfile(argv[2], strtoul(argv[3], NULL, 0));
1265 end_cmd()
1266 
1267 begin_cmd("rndtfile", 4)
1268 rndtfile(argv[2], strtoul(argv[3], NULL, 0));
1269 end_cmd()
1270 
1271 begin_cmd("skipcat", 4)
1272 skipcat(argv[2], argv[3]);
1273 end_cmd()
1274 
1275 begin_cmd("onlycat", 4)
1276 onlycat(argv[2], argv[3]);
1277 end_cmd()
1278 
1279 begin_cmd("bigascif", 4)
1280 bigascif(argv[2], argv[3]);
1281 end_cmd()
1282 
1283 begin_cmd("leetfile", 4)
1284 leetfile(argv[2], argv[3]);
1285 end_cmd()
1286 
1287 begin_cmd("asc2ebc", 4)
1288 asc2ebc(argv[2], argv[3]);
1289 end_cmd()
1290 
1291 begin_cmd("ebc2asc", 4)
1292 ebc2asc(argv[2], argv[3]);
1293 end_cmd()
1294 
1295 begin_cmd("unix2dos", 4)
1296 unix2dos(argv[2], argv[3]);
1297 end_cmd()
1298 
1299 begin_cmd("dos2unix", 4)
1300 dos2unix(argv[2], argv[3]);
1301 end_cmd()
1302 
1303 begin_cmd("uuencode", 4)
1304 uuencode(argv[2], argv[3]);
1305 end_cmd()
1306 
1307 begin_cmd("uudecode", 4)
1308 uudecode(argv[2], argv[3]);
1309 end_cmd()
1310 
1311 begin_cmd("wordwrap", 4)
1312 wordwrap(argv[2], argv[3]);
1313 end_cmd()
1314 
1315 begin_cmd("compare", 4)
1316 compare(argv[2], argv[3]);
1317 end_cmd()
1318 
1319 begin_cmd("ccompare", 4)
1320 ccompare(argv[2], argv[3]);
1321 end_cmd()
1322 
1323 begin_cmd("hmakerf", 4)
1324 hmakerf(argv[2], argv[3]);
1325 end_cmd()
1326 
1327 begin_cmd("qcrypt", 4)
1328 qcrypt(argv[2], argv[3]);
1329 end_cmd()
1330 
1331 begin_cmd("revlines", 4)
1332 revlines(argv[2], argv[3]);
1333 end_cmd()
1334 
1335 begin_cmd("html2txt", 4)
1336 html2txt(argv[2], argv[3]);
1337 end_cmd()
1338 
1339 begin_cmd("txt2html", 4)
1340 txt2html(argv[2], argv[3]);
1341 end_cmd()
1342 
1343 begin_cmd("htmlfast", 4)
1344 htmlfast(argv[2], argv[3]);
1345 end_cmd()
1346 
1347 begin_cmd("onlalnum", 4)
1348 onlalnum(argv[2], argv[3]);
1349 end_cmd()
1350 
1351 begin_cmd("onlalpha", 4)
1352 onlalpha(argv[2], argv[3]);
1353 end_cmd()
1354 
1355 begin_cmd("onlcntrl", 4)
1356 onlcntrl(argv[2], argv[3]);
1357 end_cmd()
1358 
1359 begin_cmd("onldigit", 4)
1360 onldigit(argv[2], argv[3]);
1361 end_cmd()
1362 
1363 begin_cmd("onlgraph", 4)
1364 onlgraph(argv[2], argv[3]);
1365 end_cmd()
1366 
1367 begin_cmd("onllower", 4)
1368 onllower(argv[2], argv[3]);
1369 end_cmd()
1370 
1371 begin_cmd("onlprint", 4)
1372 onlprint(argv[2], argv[3]);
1373 end_cmd()
1374 
1375 begin_cmd("onlpunct", 4)
1376 onlpunct(argv[2], argv[3]);
1377 end_cmd()
1378 
1379 begin_cmd("onlspace", 4)
1380 onlspace(argv[2], argv[3]);
1381 end_cmd()
1382 
1383 begin_cmd("onlupper", 4)
1384 onlupper(argv[2], argv[3]);
1385 end_cmd()
1386 
1387 begin_cmd("onlxdigt", 4)
1388 onlxdigt(argv[2], argv[3]);
1389 end_cmd()
1390 
1391 begin_cmd("skpalnum", 4)
1392 skpalnum(argv[2], argv[3]);
1393 end_cmd()
1394 
1395 begin_cmd("skpalpha", 4)
1396 skpalpha(argv[2], argv[3]);
1397 end_cmd()
1398 
1399 begin_cmd("skpcntrl", 4)
1400 skpcntrl(argv[2], argv[3]);
1401 end_cmd()
1402 
1403 begin_cmd("skpdigit", 4)
1404 skpdigit(argv[2], argv[3]);
1405 end_cmd()
1406 
1407 begin_cmd("skpgraph", 4)
1408 skpgraph(argv[2], argv[3]);
1409 end_cmd()
1410 
1411 begin_cmd("skplower", 4)
1412 skplower(argv[2], argv[3]);
1413 end_cmd()
1414 
1415 begin_cmd("skpprint", 4)
1416 skpprint(argv[2], argv[3]);
1417 end_cmd()
1418 
1419 begin_cmd("skppunct", 4)
1420 skppunct(argv[2], argv[3]);
1421 end_cmd()
1422 
1423 begin_cmd("skpspace", 4)
1424 skpspace(argv[2], argv[3]);
1425 end_cmd()
1426 
1427 begin_cmd("skpupper", 4)
1428 skpupper(argv[2], argv[3]);
1429 end_cmd()
1430 
1431 begin_cmd("skpxdigt", 4)
1432 skpxdigt(argv[2], argv[3]);
1433 end_cmd()
1434 
1435 begin_cmd("ftothe", 4)
1436 ftothe(argv[2], argv[3]);
1437 end_cmd()
1438 
1439 begin_cmd("blanka", 4)
1440 blanka(argv[2], argv[3]);
1441 end_cmd()
1442 
1443 begin_cmd("unblanka", 4)
1444 unblanka(argv[2], argv[3]);
1445 end_cmd()
1446 
1447 begin_cmd("najirle", 4)
1448 najirle(argv[2], argv[3]);
1449 end_cmd()
1450 
1451 begin_cmd("unajirle", 4)
1452 unajirle(argv[2], argv[3]);
1453 end_cmd()
1454 
1455 
1456 begin_cmd("gplus", 4)
1457 a = atoi(argv[2]);
1458 b = atoi(argv[3]);
1459 gplus(a, b);
1460 end_cmd()
1461 
1462 
1463 begin_cmd("gminus", 4)
1464 a = atoi(argv[2]);
1465 b = atoi(argv[3]);
1466 gminus(a, b);
1467 end_cmd()
1468 
1469 
1470 begin_cmd("gtimes", 4)
1471 a = atoi(argv[2]);
1472 b = atoi(argv[3]);
1473 gtimes(a, b);
1474 end_cmd()
1475 
1476 
1477 begin_cmd("gdivide", 4)
1478 gdivide_a = atof(argv[2]);
1479 gdivide_b = atof(argv[3]);
1480 gdivide(gdivide_a, gdivide_b);
1481 end_cmd()
1482 
1483 
1484 begin_cmd("bytsplit", 4)
1485 bytsplit(argv[2], atol(argv[3]));
1486 end_cmd()
1487 
1488 begin_cmd("kbsplit", 4)
1489 kbsplit(argv[2], atol(argv[3]));
1490 end_cmd()
1491 
1492 begin_cmd("mbsplit", 4)
1493 mbsplit(argv[2], atol(argv[3]));
1494 end_cmd()
1495 
1496 begin_cmd("gbsplit", 4)
1497 gbsplit(argv[2], atol(argv[3]));
1498 end_cmd()
1499 
1500 begin_cmd("mjoin", 4)
1501 mjoin(argv[2], argv[3]);
1502 end_cmd()
1503 
1504 
1505 begin_cmd("listdigt", 4)
1506 listdigt(atoi(argv[2]), argv[3]);
1507 end_cmd()
1508 
1509 begin_cmd("listlowr", 4)
1510 listlowr(atoi(argv[2]), argv[3]);
1511 end_cmd()
1512 
1513 begin_cmd("listprnt", 4)
1514 listprnt(atoi(argv[2]), argv[3]);
1515 end_cmd()
1516 
1517 begin_cmd("listuppr", 4)
1518 listuppr(atoi(argv[2]), argv[3]);
1519 end_cmd()
1520 
1521 begin_cmd("charsort", 4)
1522 charsort(argv[2], argv[3]);
1523 end_cmd()
1524 
1525 begin_cmd("sp2re2sp", 4)
1526 sp2re2sp(argv[2], argv[3]);
1527 end_cmd()
1528 
1529 
1530 
1531 
1532 
1533 
1534 
1535 
1536 
1537 begin_cmd("lcvfiles", 3)
1538 lcvfiles(argv[2]);
1539 end_cmd()
1540 
1541 begin_cmd("rcvfiles", 3)
1542 rcvfiles(argv[2]);
1543 end_cmd()
1544 
1545 
1546 begin_cmd("mp3tagnf", 3)
1547 mp3info(argv[2]);
1548 end_cmd()
1549 
1550 begin_cmd("catrandl", 3)
1551 catrandl(argv[2]);
1552 end_cmd()
1553 
1554 begin_cmd("leetstr", 3)
1555 printf("\n\n");
1556 leetstr(argv[2]);
1557 printf("\n\n");
1558 end_cmd()
1559 
1560 begin_cmd("lcharvar", 3)
1561 lcharvar(argv[2]);
1562 end_cmd()
1563 
1564 begin_cmd("rcharvar", 3)
1565 rcharvar(argv[2]);
1566 end_cmd()
1567 
1568 begin_cmd("hexicat", 3)
1569 hexicat(argv[2]);
1570 end_cmd()
1571 
1572 begin_cmd("rndffill", 3)
1573 rndffill(argv[2]);
1574 end_cmd()
1575 
1576 begin_cmd("zerokill", 3)
1577 zerokill(argv[2]);
1578 end_cmd()
1579 
1580 begin_cmd("randkill", 3)
1581 randkill(argv[2]);
1582 end_cmd()
1583 
1584 begin_cmd("najisum", 3)
1585 najisum(argv[2]);
1586 end_cmd()
1587 
1588 
1589 begin_cmd("rndbsout", 3)
1590 rndbsout(strtoul(argv[2], NULL, 0));
1591 end_cmd()
1592 
1593 begin_cmd("rndtsout", 3)
1594 rndtsout(strtoul(argv[2], NULL, 0));
1595 end_cmd()
1596 
1597 begin_cmd("patch", 3)
1598 patch(argv[2]);
1599 end_cmd()
1600 
1601 begin_cmd("revcat", 3)
1602 revcat(argv[2]);
1603 end_cmd()
1604 
1605 begin_cmd("copyself", 3)
1606 copyfile(argv[0], argv[2]);
1607 end_cmd()
1608 
1609 begin_cmd("bigascii", 3)
1610 bigascii(argv[2]);
1611 end_cmd()
1612 
1613 begin_cmd("hmaker", 3)
1614 hmaker(argv[2]);
1615 end_cmd()
1616 
1617 begin_cmd("wrdcount", 3)
1618 printf("\n\n%i\n\n", wrdcount(argv[2]));
1619 end_cmd()
1620 
1621 begin_cmd("addim", 3)
1622 addim(atoi(argv[2]));
1623 end_cmd()
1624 
1625 begin_cmd("allfiles", 3)
1626 
1627 fprintf(stderr,
1628 "\n"
1629 "NOTE: On most systems you can stop with Ctrl+C\n"
1630 "WARNING: This will make a lot of files.\n"
1631 "Are you sure? type YES to continue\n"
1632 "or anything else to quit.\n"
1633 );
1634 safegets(are_you_sure, 80);
1635 
1636 if (!strcmp(are_you_sure, "YES"))
1637 allfiles(atol(argv[2]));
1638 end_cmd();
1639 
1640 begin_cmd("tothe", 3)
1641 tothe(argv[2]);
1642 end_cmd()
1643 
1644 begin_cmd("vowelwrd", 3)
1645 vowelwrd(argv[2]);
1646 end_cmd()
1647 
1648 begin_cmd("gigabyte", 3)
1649 gigabyte(strtoul(argv[2], NULL, 0));
1650 end_cmd()
1651 
1652 begin_cmd("sort", 3)
1653 sort(argv[2]);
1654 end_cmd()
1655 
1656 begin_cmd("sortlast", 3)
1657 sortlast(argv[2]);
1658 end_cmd()
1659 
1660 begin_cmd("lineback", 3)
1661 lineback(argv[2]);
1662 end_cmd()
1663 
1664 begin_cmd("longline", 3)
1665 longline(argv[2]);
1666 end_cmd()
1667 
1668 begin_cmd("howline", 3)
1669 howline(argv[2]);
1670 end_cmd()
1671 
1672 begin_cmd("rndlines", 3)
1673 rndlines(argv[2]);
1674 end_cmd()
1675 
1676 begin_cmd("spyramid", 3)
1677 spyramid(argv[2]);
1678 end_cmd()
1679 
1680 
1681     } /* if (argc >= 2) */
1682 
1683 return 0;
1684 }
1685