Age | Commit message (Collapse) | Author |
|
a reference to the list, so you can chain appends and whatnot.
|
|
Bu:;SharedCore actually is in and works, it's well tested and there are no
known memory leaks or violations as of now. It's been applied to Bu::List and
Bu::FBasicString so far. This means that everything using Bu::List and
Bu::FBasicString will be much, much faster and use considerably less memory.
I still have plans to apply this to Hash and maybe a couple of other core
classes.
|
|
|
|
basics. It works, so now I'm going to apply SharedCore to Bu::List and see how
bad it is.
Also, I got rid of all the warnings and things that showed up during
compilation, they were all silly anyway.
Finally, mkunit.sh is much cooler. Hard to believe it's a shell script, it now
also adds proper #line directives to the cpp output so if there is an error or
warning g++ will give you the right line number in your .unit file, not the
resultant cpp file.
|
|
|
|
X << strVar;
where X is any primitive, and strVar is an FString. We'll add other
converters later, but it's fun so far.
|
|
Also added some awesome helpers to Bu::FString in the form of << operators to
convert a string to many common types. Handy.
|
|
|
|
it returns the raw binary string that makes up the md5 sum, this matches the
original goal of the API and makes the whole system more general and
transportable. I have added a handy helper function named getHexResult that
will return the same classic hex md5 string we're used to, change anything in
your code that uses getResult to getHexResult now.
I've also added a handy function to the CryptoHash to write the result to a
stream, writeResult. I've fixed some more things in the formatter, and added
a cryptPass function that works very much like the system crypt function, md5
and base64. If I knew more about the glibc implementation I could probably
make them compatible. For now there are some subtle differences in the
formatting and the salting algorithm, also the output mantains it's base64
trailer (==) wheras the system function chops those off. There's also another
helper that will only work on linux for now, that only takes the password, and
generates a salt for you using urandom.
|
|
and base64 no longer accidentally complains about properly formatted streams,
as much...
|
|
also made sure the copyright is at the top of all the files, it's been too long.
Anyway, this may effect some code, but not much, and it's an easy enough fix.
|
|
it throws exceptions. It'll still try to process bad data for a while though.
Also, it turns out that Bu::File never reported EOS, now it does, appropriately.
I'm about to change Bu::Stream::isEOS to be Bu::Stream::isEos, this is your
warning.
|
|
the pipes and waits for the child process like it should. It doesn't force the
child to close right now, I'm not sure it should, we'll figure that out later.
|
|
|
|
parsing functions publicly accessible in Url, and added some more helpers.
|
|
|
|
follows the new filter guidelines, where read and write report the amount of
data consumed, not the amount processed. I.e. when writing, it reports how
much of your incoming data it used, not how many bytes it wrote on the other
end.
|
|
sweet.
|
|
|
|
disconnected. It now automatically closes down the local end when the remote
end dies.
|
|
the filter chain, I'm going to go ahead and make that optional coming up.
|
|
chain on the base stream, which for the moment is a socket.
I also demonstrate this in the new rot13 test, with a rot13 filter, and a simple
echo protocol.
|
|
puts all of the values in a Bu::List assosiated with the key. When you insert,
it will append to the list at that key, and create a list if it needs to.
When erasing, getting, etc, you operate on the whole list, not just one element.
|
|
shared, checkinst.sh makes sure that symlinks are in /usr/lib and /usr/include
so that you don't need a libbu++ symlink in any directories. If you still want
the static version, then just delete the shared object, or switch your link
line to do this:
-Wl,-Bstatic -lbu++ -Wl,-Bdynamic
Instead of just -lbu++, it'll include libbu++ as static, and everything else
as dynamic. You could always just use -static, but then the whole thing is
going to be static. Also, the dynamic library is already linked against all
the extra libs you need, so no need to link against pthread or libbz2.
|
|
Truncate, and Create, the flags used most commonly when writing a new file.
Also added the Bu::Base64 filter class, it does base64 encoding and decoding,
it may need a couple more interfaces added, but for the most part, it's solid.
|
|
functions for comparing with chr type.
|
|
|
|
debugging code.
|
|
something for mime eventually, meh.
|
|
encoding and decoding and uri encoded splitting etc in one class.
|
|
there's no way to find out how many are in memory now, I may add something for
that later, but it seems more or less unimportant (except maybe for fine-tuning
and making interesting looking displays).
|
|
bool to see if they're bound, you still have to use isValid to see if they're
valid or not. Also, fixed a bug in libbu++ that's been around for a while,
apparently, in the Bu::Socket code. Non-blocking reading wasn't working
correctly, when data wasn't waiting on the line, it would return immediately
with zero bytes read. That was sure stupid. This should fix a lot of things.
|
|
|
|
|
|
least, most of them. Now if it does exist, it's used.
|
|
Bu::File
|
|
the index operator is out of range...
|
|
it uses a lot of memory and overhead, but...it'll work (sorta') for now.
|
|
|
|
now works correctly, and they don't worry about which list they're assosiated
with. Better errors too.
|
|
isBlocking function was backward), and fastcgi is actually working now!
Also added comparison functions to FString.
|
|
double, or long double...now it does.
|
|
adding some more helpers. Hopefully this won't affect anything, but if it
complains about any functions not working the way they used to, see if they're
returning an int or an iterator. I made several functions handle iterators
instead of ints, the int versions have an "Idx" suffix added now. I'm trying
to switch entirely to iterators to reduce flattening and increase performance
and stability.
Also...something must have changed in the cache code...
|
|
|
|
Also I added a bunch of classes that I've been tinkering with that are almost
ready for use, so I figured I may as well throw them in here.
|
|
problem. Also, arrays now have a formatter.
|
|
some day, but I'm not in much of a rush, I just wanted to do a quick survey.
Also added the Formatter::flush special stream value, so now you can do a:
sio << "hello" << sio.flush; and it'll flush output immediately.
I also tweaked a few things in the cachestore and cache so that they actually
throw exceptions and the like instead of just printing out some garbage.
|
|
function in Bu::Formatter to take a void *, what was I thinking?
|
|
it yet, I'd recommend not using it much for now, the API could change
drastically.
|
|
operator and the left-hand-side FString was const. Also, added a formatter <<
operator for Bu::List. The other containers should get their own formatter <<
operators soon too.
|