| 1 |
<!-- Automagically generated by the ToDo program on 27/03/05, 15:08 --> |
|---|
| 2 |
<todo version="0.1.18"> |
|---|
| 3 |
<title> |
|---|
| 4 |
libCrash - A modular library of source code. |
|---|
| 5 |
</title> |
|---|
| 6 |
<note priority="veryhigh" time="988820532" done="988827479"> |
|---|
| 7 |
Add an 'eatWhitespace' method to IStream so that 'in >> t;' works when reading integers. |
|---|
| 8 |
</note> |
|---|
| 9 |
<note priority="veryhigh" time="989424535" done="1014820104"> |
|---|
| 10 |
Finish turning String into a reference counting String. |
|---|
| 11 |
</note> |
|---|
| 12 |
<note priority="veryhigh" time="1016019881" done="1016151695"> |
|---|
| 13 |
There is a MAJOR problem with the reference counting String class. Because the buffers are shared between String copies they MUST perform locking on their internal buffers otherwise one shared copy can get deleted while another is being deleted simultaneously. |
|---|
| 14 |
</note> |
|---|
| 15 |
<note priority="veryhigh" time="1016807434" done="1017528790"> |
|---|
| 16 |
Fix SIGSEGV which occurs when conout's destructor is called. Very strange. Memory corruption? |
|---|
| 17 |
</note> |
|---|
| 18 |
<note priority="veryhigh" time="1017528781" done="1018453744"> |
|---|
| 19 |
Fix 'b' and 'w' in Input not registering word boundaries. |
|---|
| 20 |
</note> |
|---|
| 21 |
<note priority="veryhigh" time="1020554468"> |
|---|
| 22 |
Ensure Terminal operations work correctly even if raw capabilities are not there (case in point - goto bottom left) |
|---|
| 23 |
</note> |
|---|
| 24 |
<note priority="veryhigh" time="1025189793" done="1027529755"> |
|---|
| 25 |
Mark constructors 'explicit' that should be marked explicit. Prevents nasty bugs. |
|---|
| 26 |
</note> |
|---|
| 27 |
<note priority="veryhigh" time="1028114424"> |
|---|
| 28 |
Base64 is not working properly - it decodes with extra characters. |
|---|
| 29 |
</note> |
|---|
| 30 |
<note priority="veryhigh" time="1049615358"> |
|---|
| 31 |
Figure out how to make d2i_DHparams portable across OpenSSL versions - they changed the second argument from non-const to const somewhere between 0.9.6d and 0.9.7a. Though why gcc 3.x is saying that passing a non-const object to a const function argument is an error is beyond me. |
|---|
| 32 |
</note> |
|---|
| 33 |
<note priority="high" time="986774684" done="1014820148"> |
|---|
| 34 |
Fix performance problems with Lexer (and hence XML). I think it needs a reference counting string class to replace the existing use of std::string. |
|---|
| 35 |
<note priority="high" time="989424317" done="0"> |
|---|
| 36 |
I have written the replacement String class, now it's just a matter of putting it in the Lexer and seeing what happens. |
|---|
| 37 |
</note> |
|---|
| 38 |
</note> |
|---|
| 39 |
<note priority="high" time="987715803" done="987768140"> |
|---|
| 40 |
Write i18n classes. |
|---|
| 41 |
</note> |
|---|
| 42 |
<note priority="high" time="987984337" done="1014931384"> |
|---|
| 43 |
Figure out a way to handle the 'where is the end?' problem of TEAEncrypt. |
|---|
| 44 |
</note> |
|---|
| 45 |
<note priority="high" time="988583300" done="989424241"> |
|---|
| 46 |
What would be the impact of replacing the use of C++ standard library classes such as std::string and std::iostream with my own variants. The main advantage would be that programs would be *much* faster to compile but a disadvantage is that they then can't leverage any standard library extras... (such as map, vector, etc. - although I could selectively replace classes and still use the useful ones like those) |
|---|
| 47 |
</note> |
|---|
| 48 |
<note priority="high" time="989193224" done="1014931393"> |
|---|
| 49 |
Fix up semantics relating to write(buffer,size) and peek() in FStream. |
|---|
| 50 |
</note> |
|---|
| 51 |
<note priority="high" time="1016151691" done="1017528806"> |
|---|
| 52 |
Verify the semantics of OStream::flush() |
|---|
| 53 |
</note> |
|---|
| 54 |
<note priority="high" time="1016892797" done="1021460110"> |
|---|
| 55 |
Fix funky characters input from keyboard causing assert in Input to fail. |
|---|
| 56 |
</note> |
|---|
| 57 |
<note priority="high" time="1016892817" done="1021460107"> |
|---|
| 58 |
Fix redraw flicker in Input - research cursor movement at console. |
|---|
| 59 |
</note> |
|---|
| 60 |
<link filename="crash/script/.todo" priority="medium" time="0"/> |
|---|
| 61 |
<note priority="medium" time="980704165" done="982263348"> |
|---|
| 62 |
Functions to emulate common unix commands such as basename, dirname, etc. So it will be almost as easy to whip up a quick C++ program as it would be to whip up a quick shell script. Almost. Might be possible to emulate piping with some of these functions? |
|---|
| 63 |
</note> |
|---|
| 64 |
<note priority="medium" time="980705983" done="982263348"> |
|---|
| 65 |
Add a 'count' function to count the number of occurences of a substring (or characters) in a string. |
|---|
| 66 |
</note> |
|---|
| 67 |
<note priority="medium" time="980707895" done="1014826444"> |
|---|
| 68 |
Readline wrapper? |
|---|
| 69 |
</note> |
|---|
| 70 |
<note priority="medium" time="981248914" done="982263348"> |
|---|
| 71 |
Command line processing. |
|---|
| 72 |
</note> |
|---|
| 73 |
<note priority="medium" time="984605669" done="987023261"> |
|---|
| 74 |
Fix to Regex.h so it compiles on BSD - picked up by Ashley Penney |
|---|
| 75 |
</note> |
|---|
| 76 |
<note priority="medium" time="987423711" done="987427357"> |
|---|
| 77 |
Added htmlification and c-escaping functions. |
|---|
| 78 |
</note> |
|---|
| 79 |
<note priority="medium" time="987427369" done="987705515"> |
|---|
| 80 |
Function to expand envars in a string. |
|---|
| 81 |
</note> |
|---|
| 82 |
<note priority="medium" time="988585233" done="989424898"> |
|---|
| 83 |
Remove Table and related classes? I've never *actually* used them. |
|---|
| 84 |
</note> |
|---|
| 85 |
<note priority="medium" time="988904484" done="989424030"> |
|---|
| 86 |
Write String pool allocator. Abstract allocator out? |
|---|
| 87 |
</note> |
|---|
| 88 |
<note priority="medium" time="988936389" done="1014931411"> |
|---|
| 89 |
Write an 'FStreamBase' with pure virtuals so I can inherit things like TAR file streams and so on from it without dragging all the baggage along. |
|---|
| 90 |
</note> |
|---|
| 91 |
<note priority="medium" time="989059319" done="1022343567"> |
|---|
| 92 |
Write a binary => text encoding class. So I could do this: TEAEncrypt => MIMEStream => OFStream (This is implemented as IBase64Stream and OBase64Stream in Base64.h) |
|---|
| 93 |
</note> |
|---|
| 94 |
<note priority="medium" time="1022343514" done="1022665984"> |
|---|
| 95 |
Finish RSA off. I suspect I probably won't need it, but it would be nice to have for completeness. |
|---|
| 96 |
</note> |
|---|
| 97 |
<note priority="medium" time="1022679293"> |
|---|
| 98 |
Add libz support (Compress class) and make input and output chainable streams. |
|---|
| 99 |
<comment> |
|---|
| 100 |
Found a nice small, fast compression library called liblzf. I am using this instead. Problem is the blocks required by compression. This doesn't integrte too well with streams. NEEDS TO BE RESOLVED!!! |
|---|
| 101 |
</comment> |
|---|
| 102 |
</note> |
|---|
| 103 |
<note priority="medium" time="1024741157"> |
|---|
| 104 |
Add a 'chunk' binary format, ala the Electronic Arts IFF format. |
|---|
| 105 |
</note> |
|---|
| 106 |
<note priority="medium" time="1024741202" done="1025103559"> |
|---|
| 107 |
Finish (start) SQLite support. |
|---|
| 108 |
</note> |
|---|
| 109 |
<note priority="medium" time="1025103533" done="1111900108"> |
|---|
| 110 |
Make an SQL abstraction layer, then make MySQL and SQLite implementations. |
|---|
| 111 |
</note> |
|---|
| 112 |
<note priority="medium" time="1028041739" done="1111900123"> |
|---|
| 113 |
Make String not use Mutex? Or use it optionally? |
|---|
| 114 |
</note> |
|---|
| 115 |
<note priority="medium" time="1038461899" done="1047481606"> |
|---|
| 116 |
Need to emulate MSG_NOSIGNAL in Connect, for systems that don't have it - probably need to trap SIGPIPE and do something funky. |
|---|
| 117 |
</note> |
|---|
| 118 |
<note priority="medium" time="1038466649" done="1047481612"> |
|---|
| 119 |
Issues with flock() on Solaris - find portable means (lockf or fcntl?) |
|---|
| 120 |
</note> |
|---|
| 121 |
<note priority="medium" time="1038466677"> |
|---|
| 122 |
Make mlock() portable, or don't use it? |
|---|
| 123 |
</note> |
|---|
| 124 |
<note priority="medium" time="1045815015" done="1046085756"> |
|---|
| 125 |
Fix header installation - need portable way to install just the headers...use a 'gmake' specific extension perhaps? |
|---|
| 126 |
<comment> |
|---|
| 127 |
used gmake replacement extension |
|---|
| 128 |
</comment> |
|---|
| 129 |
</note> |
|---|
| 130 |
<note priority="medium" time="1051937174"> |
|---|
| 131 |
Write a join() that accept iterators of arbitrary containers. |
|---|
| 132 |
</note> |
|---|
| 133 |
<note priority="medium" time="1078384211"> |
|---|
| 134 |
Need to make Expression handle floating point numbers rather than just integers. |
|---|
| 135 |
</note> |
|---|
| 136 |
<note priority="low" time="982977986" done="987025514"> |
|---|
| 137 |
Fix wrapping problem on first line when using wraptext. |
|---|
| 138 |
</note> |
|---|
| 139 |
<note priority="low" time="988849868" done="989330365"> |
|---|
| 140 |
Convert all exceptions to crash::Exception. |
|---|
| 141 |
</note> |
|---|
| 142 |
<note priority="low" time="1016892879" done="1021764799"> |
|---|
| 143 |
Add 'W' and 'B' support to VI emulation in Input |
|---|
| 144 |
</note> |
|---|
| 145 |
</todo> |
|---|