aboutsummaryrefslogtreecommitdiff
path: root/src/file.cpp (unfollow)
AgeCommit message (Collapse)Author
2008-10-02Ok...now Bu::File doesn't set stupid permissions when it creates a new file...Mike Buland
2008-10-02david apparently window doesn't have O_NONBLOCKDavid
2008-10-02More changes to File...turns out tempFile always opens the file for reading andMike Buland
writing...so...what more do you need? It was ignoring the open flags you gave it anyway.
2008-10-02Updated on my laptop and discovered that the new, more pedantic gcc had aMike Buland
problem with a missing include. Also, if you get errors about conflicts and things being declared twice, then "rm src/exceptions.o" it shouldn't be sneaking in there still, but it may be. then do a full "build -c all" and build. Oh, also found some solid gold taf code that never got included, but is very much needed. Remembering to commit would be useful...
2008-10-01This commit is sure to break things. This should be a very, very minor change.Mike Buland
What changed API-Wise: - I deleted a constructor in Bu::File that shouldn't have been used anyway. - I changed it from using fopen style mode strings to using libbu++ style mode flags. Check the docs for the complete list, but basically instead of "wb" you do Bu::File::Write, and so on, you can or any of the libbu++ flags together. There is no binary/text mode, it just writes whatever you tell it to verbatim (binary mode). Lots of extras are supported. Nothing else should have changed (except now the file stream is unbuffered, like all the other streams). Sorry if this breaks anything, if it's too annoying, use the last revision for a while longer.
2008-10-01Ok, NIDS is getting better and better, and I went ahead and cleaned up someMike Buland
exception related code that's been annoying me. You should no longer have to include any exception header explicitly for normal operations, every class that has it's own exception to throw defines it in it's own headers. This may break some code that uses libbu++, but it's an easy fix, just delete the include for exceptions.h. Sometime soon I would also like to move from Bu::ExceptionBase to Bu::Exception, but that will affect a lot more code than this change did.
2008-09-26david - got it compiling for windows again: made Bu::File::setBlocking a ↵David
stub. We are going to need some windows api stuff to do that...
2008-09-24Hey, it wasn't a problem with libbu++, just my desktop machine...uh...dying aMike Buland
slow, painful death? Anyway, I removed all the extra debugging info.
2008-09-24Something may be wrong.Mike Buland
2008-09-24Minor tweak, the newer version of the compiler had a couple of extra really goodMike Buland
warnings. Of course, it said that a class with a copy constructor that also has one or more base classes should explicitly initialize the base classes in the copy constructor so nothing too suprising happens to you. I agree with this.
2008-09-24Wow, I realized that the Bu::Array class wasn't finished, and went ahead andMike Buland
wrote it, it's pretty feature complete, index, append, iterators. You can't delete anything yet, exactly, but that's tricky in an array anyway, basically you just want to be able to remove elements from the end, and that's halfway there. Also, fixed some documentation and minor issues in Bu::Set, and made the Bu::Archive include fewer other classes while still defining archive oprators for them. I think I may yet move those into the headers for the classes that are being stored instead, makes a little more sense. I also would like to move the Exception classes out of the exceptions.h file and into the appropriate class' files'. There still should probably be a couple of general ones in there, or maybe just in exceptionbase.h, we'll see.
2008-09-24Added a getSubStr function to Bu::FString, and more tests to the fstring unitMike Buland
test.
2008-09-24Ok, now all the warnings are gone (except for those coming from nids, but that'sMike Buland
ok, nids is still in flux, they'll be gone soon).
2008-09-24Wholly crap. Added the Fifo, fixed a bunch of bugs, made things more standard,Mike Buland
now I have a huge list of new functions to add. Also, we discovered that if we add -W it produces more warnings, warnings about things that we'd like to know about. I have a lot of work to go fixing that...
2008-09-15Wooo! It compiles again! The nids streams are almost ready.Mike Buland
2008-09-15Whoa! Loads of NIDS work. It actually compiles, runs, and I'm optimizing theMike Buland
hell out of it. Good times, everyone. This is a major chunk for congo, and the new optimizations should be good.
2008-09-15david - made precompiler not do wordexp stuff in expand function on win32 ↵David
targets... added buildMinGW.conf file for targeting win32... undef-d cpy macro in fstring
2008-09-11Removed loads of strange, old debugging statements that weren't really needed.Mike Buland
2008-09-11Fixed some whacky old FBasicString hikinx. Basically it supports all the basic,Mike Buland
expected operators now, like plus. It was annoying without them.
2008-09-04XML is important, I guess...Mike Buland
2008-07-23Added BitString, it was used in a few projects. It needs a few functions toMike Buland
be corrected, they were using standard library features, that shouldn't be hard to fix though.
2008-07-23Some minor changes to the CacheHandler structure and layout.Mike Buland
2008-07-02Caching is coming together nicely, as well as the new nids system...orMike Buland
whatever it'll be called later...
2008-06-07Fixed the bugs in the archive system. Both the List container and FString hadMike Buland
inconsistancies when archiving compared to their STL counterparts, they are now compatible on every system I can imagine. Also, List now uses a long instead of an int for sizing, and the other containers should as well. I'll check on that later. That means that the files will all be larger on a 64 bit system, but such is life. The same thing happens when you use STL classes. There may be other inconsistancies down the road, we'll see.
2008-06-07This seems to have done the trick, on the 32 bit platform, anyway. Turns outMike Buland
it's a bad idea to rely on the intNN_t typedefs. I enumerated all non-pointer primitives in c++ (except void, you can't store things in a void), and it works great. I also discovered C and C++ actually have unsigned char, signed char, and char, which are all distinct types. It supports all three now. In addition, I got rid of all of the specific && operators, the general one covers it all. Also, the unit tests all pass for now. Now to try it on the 64bit system.
2008-06-07This is a testing version. Nothing should be broken, but I won't gurantee it.Mike Buland
I wouldn't update to this just yet, if you have problems, back off a rev. I'm trying to update the code to work on both 32bit, and 64bit systems, and hopefully anything else that comes along. Currently some of the archive code is broken, testing must be done on both archetectures.
2008-06-04Corrected a few macro definitions to make them more function-like and safe toMike Buland
use.
2008-06-02Added another helper to Bu::TafGroup, very handy...something happened to theMike Buland
logger...I guess.
2008-04-29Very minor, just fixed the borders on the hexdump.Mike Buland
2008-04-28Apparently there were a number of things that weren't strict ISO C++, the newMike Buland
version of gcc complained about them, none of these changes will break backward compatibility, so I fixed them. I added more docs too, it seems.
2008-04-14The Bu::TafReader parser now knows about \\, \t, and \n escape sequences. TheMike Buland
writer also knows about \\, but will not insert \t or \n for now. It just uses a tab and newline for those.
2008-03-24Removed the backtrace stuff, it had some bugs, and shouldn't be here all theMike Buland
time anyway. Recompile everything.
2008-03-20This is a preliminary test of my new server simplification subclass, don't useMike Buland
it yet, the name will change. I really, really, really want the name to change.
2008-03-07Minor updates to MiniMacroMike Buland
2008-03-04Added backtrace support to the Exception system. It's pretty simple, if it'sMike Buland
enabled, and the compiler/libc support it, then you just get backtraces, if not you get a message about it not being supported. It probably shouldn't be enabled in most production environments, since it does happen for every exception, and could be memory and time consuming.
2008-02-26Some simple getters that are const safe weren't labeled as such. Oops.Mike Buland
2008-02-26Thought this may be handy. It should have more functions and things later, butMike Buland
it's basically an uber-simple counter class that's thread-safe!
2008-02-20Applied an update from Hash to Set (they're basically the same logic/code, inMike Buland
fact, I need to get in there and change all the comments and exceptions in Set to refer to Set and not Hash). Util has the functors in it that are shared now, and List actually uses those functors for it's insertSorted function, that thing has come in so handy.
2008-02-19Oops. I made the Bu::Heap API look like a stack, not a queue, that's beenMike Buland
fixed, and the Bu::ItoHeap is working and tested. Note that when multiple items have the same sort order, they will come out in random order.
2008-02-19I believe this will do the trick. The Bu::Heap class now uses the appropriateMike Buland
allocators for all work, every data type used in a Bu::Heap must support the equals operator and <= or >=, or you need to write your own comparison functor. The heap works as both a min-heap and max-heap, just change out the functor used for camparison, kinda' cool. The print function I'll leave in for a little while, but not in the long run, it just prints a dot graph to stdout. Next up, the Ito version.
2008-02-19Bu::Heap is a real class, it works great, except it doesn't grow right now.Mike Buland
I'm thinking the heap should add one layer to the binary tree each time it grows, which means double+1 each time. The Bu::ItoHeap will be implemented as soon as the rest of Bu::Heap is done. Also, I finally added bu/util.h which is mainly handy template functions like Bu::swap, Bu::min, Bu::max, and Bu::mid. A few more may be added.