17 Apr 2004 gnutizen   » (Journeyer)

Well, I now have a cache for Gnutizen that is not out of date for personal use during development. I ran some tests and it looks like many modern servents are rejecting me, probably because of my lack of QRP. But that is not a problem for me now, and I can deal with other things, like bugs, which are more important currently.

Amazingly, I can compile the program with Microsoft Visual C++ now. The main changes needed: For the Sleep() call to work, I had to include the windows.h header file; I changed a variable define from "char variable[0]" to "char variable[1]"; and I also changed the filename of the cache file.

Also, I fixed two threading problems. In both cases I had one constant variable keeping track of multiple threads, which I changed to a variable for each thread. One was minor and just threw off download progress. The other was more serious as it controlled connections and was causing segmentation violations. I found that with gdb, and it is good that has been fixed.

Different operating systems bring out different errors. I want to get back on Linux and try to clean those up. I've been working on FreeBSD errors lately. I am on an OpenBSD system with few open files allowed as well, which shows me how my constant accessing of disk space is probably not a good thing, a lot of which can be moved to memory. I lost access to my Linux, I have to get that back as I want to work on Linux problems. And Windows has had problems too, although I suspect they are similar to the UNIX problems.

Anyhow, there is some stuff I am cleaning up, like the cached queries. Or so that Gnutizen can open without having a broken pipe (this seems like a new error). I want to get it so that Gnutizen can run on most OS's without encountering any errors. Things seem fine on Windows until I start downloading files. Anyhow, I should clean these things up before doing big expansions because the bigger it gets, the harder it may become to discover bugs.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!