=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= najitool and libnaji to do list =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= included in: najitool 0.8.1 libnaji 0.6.1 Written by NECDET COKYAZICI http://najitool.sf.net/ ----------------------------------------------------------------- add comments in libnaji.h saying which function is in which .c file ----------------------------------------------------------------- make the najout and najin functions as one function, instead of making, najin2, najin3, najout2, najout3, etc, so maybe like: najin(1, namein1); najin(2, namein2); najin(3, namein3); najout(1, nameout1); najout(2, nameout2); najout(3, nameout3); a = fgetc(naji_input[1]); b = fgetc(naji_input[2]); etc. ----------------------------------------------------------------- make libnaji act more like a library, with the functions returning values instead of exiting when an error occurrs, it should be up to najitool and other programs using libnaji to check the values, libnaji should be able to work with naji_gui and other gui programs without having to have to rewrite libnaji for gui's like naji_gui, ----------------------------------------------------------------- improve the functions already in libnaji, fix bugs, make the functions faster and more efficent, by using less memory etc, and avoiding unnessary code. ----------------------------------------------------------------------------------- improve the indentation of the najitool, libnaji, and naji_gui source code. some people have complained that they are poorly indented, well it was because I used a lot of different editors for the source code, and some editors messed up the tabs, and sometimes I've been really sleepy when coding so the code turned out kinda messy, and the indentation was inconsistent, but most of the code has a simular style if you look closely, it may look like its lots of different styles mixed up, but those are on a few functions only which I was really sleepy when doing, most of the code is a style of its own, which I call, the naji style, I might write a document about it someday, explaining, the "standard". any code thats constributed to this project gets converted to this style, manually by me, which takes a while, hence there are late releases sometimes. ------------------------------------------------------------------------------------ todo now: improve the "allfiles" function, give it the ability to resume generating files if it's interrupted, one way of doing this could be by starting from the beginning, process it but don't write the output if the file already exists, another way is by giving parameter to the all files function and the number of the last file it produced, for example: "najitool allfiles resume 100 108430" 100 being the size of the output files, it could start processing but not write the output file from the beginning until it gets to that last number, which is ineffecient, a better method would be for it to examine the last file, if it isnt the correct size, then disregard that file, because the interruption may have caused an incomplete file, check the file before it to see if its size is correct if it isnt the correct size then it's a user error, the user specified the wrong size, anyway, examine the last file or the one before it if the last one is incomplete, then according to the pattern of the last file, it generates what could come after that in the buffer, and it carries on. spacetab - converts spaces to tabs, you give it the number of spaces to convert to a tab. linsnipe - make a copy of a file with the amount of characters you specify to be removed from the end of each line. make a versions of chchars and chchar that does a random text character and a random binary character. onlybin - you give it the numbers of the binary characters, and it makes a copy of the file with only those binary characters skipbin - you give it the numbers of the binary characters, and it makes a copy of the file skipping those binary characters improve compare cmpnos - compare without comparing white space (check naji_cmp.c for an already existing function you can use) uplinem - like merge line but merges with same file but the first or second side is upper case lowlinem - like above but lower case sort1st - sort acording to the first part of the string of each line sortlast - sort according to the last part of the string of each line wordlist - a word list generator, takes 3 parameters, characters, length of string, and output file. man2text - convert manual pages in UNIX systems to text files. text2man - convert text files into manual pages on UNIX systems. txt2html - Extend This - make it turn links to real links, and e-mail weight - weight converter/calculator - stones, kg, pounds, tons etc. nicetext - do a nice automatic text formatter like the license.txt shccmnts - show c and c++ comments rmccmts - remove c and c++ comments csemibug - a function that shows each lines without semicolons except for, while, if statements, but a for, while, if statement has a semicolon after it, then it should printf it show it would be easier for programmers to track small bugs like semicolons editfile - very simple ANSI C text editor hexiedit - ANSI C hexidecimel editor bitedit - like a hex editor but does bits (ANSI C) ----------- todo next: catalot - cat unlimited amount of files, and also say the name of the file that got cat'ed countype - count the extensions of files in a directory (folder) you specify does it recursively NOTE: I don't know if these functions are possible to do in ANSI C. ---------------------------- todo soon: c2html - makes a copy of a c source file as a html file with different colours for keywords, operators, preprocessor directives, identifiers, strings, characters, integers, hexidecimal values, and comments. makes the c source code inside a html table, with numbers outside the table (numbered lines) making it easy to copy the source code from a html browser without copying the numbers of the lines, useful for making C tutorials in html, you can mention a line with a certain code, and ask the reader to copy and paste the c source code into their compiler, and because its in a table it wont copy the numbered lines because the numbered lines would be outside the table. hashfile - generate a file with allfiles, compare it with the specified file, if it matches, get the number of the file, if it does not match, delete the file, and carry on generating and deleting until it generates a file that is the same. note: make a version of allfiles were you can specify the characters to be used, and make hashfile use that version of allfiles by checking the file and counting each character. genfile - keep generating and deleting the files with allfiles until it gets to the specified number. najicomp - my own compression format with the extension .njy random filename generater 8.3 style, upper case only A to Z - najoutrand(), najout2rand() do a built in for (i=0; i