Age | Commit message (Collapse) | Author |
|
change to the Taf system. Really all that's happened is I've broken out the
core taf data types into seperate files, and gone ahead and created a helpful
new header file ("taf.h") that will include the entire taf system, including
the reader and writer for you.
This means that a lot of programs will start complaining, but fortunately,
there's an easy solution, if it complains about taf, make sure to include taf.h
at the top, instead of other taf files and you'll be set.
The next set of changes will add lots of helpers to the taf system and change
the reader to read non-const structures, i.e. I'll actually add editing support
to created taf structures.
|
|
doesn't need to make all output ugly forever.
|
|
|
|
type. It's really just that easy.
More info, docs, and tweaks to come.
|
|
the end of stream flag. Now it does reset it, and assumes that you've placed
the position not at the end, if you have, it will detect it again immediately
upon read.
BZip2 now provides a method of getting the number of bytes written out, i.e.
the compressed size of the output, I have to figure out the input side next...
|
|
didn't hardcopy appropriately.
|
|
|
|
element to the list in the constructor.
|
|
|
|
it's easier when they're in list.
|
|
causing memory corruption, and fbasicstring is playing even nicer with shared
core now.
|
|
Bu::TafException instead of Bu::HashException. THis is fixed.
|
|
but I made the Formatter << operator for Lists use the List with the value as
the template parameter, and no others, so if you actually tune the list, you
can't format it anymore. This has been fixed.
|
|
actual Date class.
|
|
there are a couple more fine points to touch on in Bu::Hash::iterator, I should
go through and review the whole thing at this point (iterator-wise).
|
|
probably document some of that...if you do an == with Bu::Cache::Ptr objects it
will compare them to see if they are the same pointer, not if the data contained
is compatible.
i.e. to see if two pointers are the same data, you can do:
a == b
but to see if a and b contain compatible data, do:
*a == *b
:)
|
|
synopsis line made the canWrite function misleading.
I also addad a script that could actually be used for any project, it builds a
tarball release of all the files that are in SVN, so it will skip object code
and the like.
|
|
it passed many more valgrind tests.
|
|
much anymore, for the fishtrax issues, maybe.
|
|
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).
|