1* log: syslog, __file__ and __line__ automatically 2 3* have indexes with all publib-manual pages 4 5* manual pages should be compressed for Debian. 6 7* manual pages should have optional suffix 8 9* install should create target dirs 10 11* several module daddy dirs 12 13* build shared libraries 14 15* create some automatic testing (even if rudimentary) 16 17* config files: write back as well, and retain comments in the original 18 19* getaline: make it possible to restrict the size of one line 20 21* extensible printf; snprintf 22 23* something to replace scanf? 24 25* tab positions 26 27* isxdigit, isodigit 28 29* function to read from file/string C tokens 30 31* ...and C tokens in general? 32 33* guaranteed good random number generator, with randomize 34 35* bitfiles 36 37* dynamic arrays, multidimensional too 38 39* files: length of file, copy files and streams, move files (across disks), 40 get list of files in a directory, select files in list, do operation 41 for all/selected files in list (i.e., copy/move/rename/delete) 42 43* strings: approximate matching; non-null-terminated strings; fast strstr 44 45* rfc822 et al mail message handling; UNIX mailbox handling 46 47* dos framework: write program to read the list files to be compiled (scan 48 the modules directory's subdirectories) and output a BC++ project file 49 50* function to compare strings numerically: abc1 < abc2 < abc10 51 52* strexpandvars 53 54* bitarr: set, clear ranges 55 56* cmp: cmp_uchararr, ucharstr, cmp_schararr, scharstr 57 58* symtab 59 60* fname: /./ -> / 61 62* iset: hashtable+bitmap 63 64* expr: unget_token: error if ungot_count too large 65* expr: don't have globals at all 66* expr: on errors, free ungot tokens as well 67 68* automatic more for output 69 70* Template: not-explicitly-changing input files 71 72* recognize function keys / other key sequences 73 74* tmpdir - create temporary directory (to be deleted on normal exit) 75 76* handle errno correctly 77 78* dates and times, handle all timezones, all possible times (i.e., as 79 long a time range as possible), support the timesrc timezone db, 80 conversions to and from string formats; make it as a replacement 81 for normal <time.h>? 82 83* incremental searches from arrays (generic) 84 85* file copy, move, rename 86 87* get list of filenames; directory tree; display as ascii 88 89* bm or knp search routines (memfmem[setup], memfrmem, strfstr, strfrstr, f for 90 fancy) 91 92* compression 93 94* write text on library function design: degrees of tightness (Meyers), 95 uniform interface, how to deal with errors, try to define function 96 so it can't fail, use asserts properly to catch errors, don't 97 blend status codes and useful data, but do otherwise follow the 98 unix system call interface; memory allocation principles 99 100* allocation of fixed size blocks (handles a few sizes automatically, keeps a list of 101 freed blocks of the given sizes) 102 103* write better text on the design of the framework, the modules, and their 104 interface; write tutorial on writing a module 105 106* fname: there is no suffix in ".profile". 107