D'Arcy J.M. Cain

Source Code

I have written some code that I have made available to others under a very liberal license - just promise not to say you wrote it. Here are some pointers. Some of these use local headers from a cain subdirectory Some of these are wrappers around the system headers such as cain/stdio.h and sometimes they are specials. I have tried to explain their use wherever necessary so you can cobble up something to allow this code to compile. You can also get my generate program below which includes a script file which I use to generate these headers.

One of the functions that I personally find most useful - I use it in almost every program that reads free form input - is getline.c This function reads in lines of unbounded length and also compiles to a version that does comment processing.

Another useful function is getarg.c which is a getopt replacement. The function xstrtok.c is a reentrant version of strtok(3).

Here is a little program called num.c Which reads a number in and gives it back in binary, octal, hex and decimal forms. The input can be in decimal, octal (leading 0) or hex (leading 0x.)

Here is a program similar to date called pdate which has a few extra features that are useful.

The file ascii.h is a header that defines symbolic names for all the control codes and, for MS-DOS systems, all of the alternate keys such as arrows and function keys. The comments explain how to use these values.

I have created a preprocessor called generate which is available as a shar file or as a compressed tar file. Here is the readme file.

I have modified PyGres95 and make it available as PyGreSQL.

I have a chapter in the book "Software Solutions in C" by Dale Schumacher, Academic Press, ISBN: 0-12-632360-7. It includes a discussion of and the source for cash.c. This code is the base for the MONEY type in PostgreSQL RDBMS.

Watch this space for more source as I get around to cleaning it up and putting it here.