Source madness

I’ve been working on a logging program, it’s nothing much but it’s good learning fun, usually…

She basically deals with command line options like so:

while ((ch = getopt(argc, argv, "rchtf")) != -1)

(ch) {

        case 'r':

     rflag = 1;  
     /* read log, like tail */


     case 't':

     tflag = 1;  
     /* read top of log like head */


        case 'f':

     fflag = 1;  
     /* log to a diffrent file */


When ever a switch is “On” or “1” we perform an action. When no switches are given we fscanf stdin into a str[256] char array. This is more then enough space and shouldn’t be to memory hungry for right now. Input is taken until a new line is given then we store it in the char array and fprintf it into our logfile + a newline. I toyed around with trying to resize str to match stdin should str be to small, so we could avoid a segfault when trying to write huge entries. Yet allow no major limit on entry size. That nett’d me a good junk pointer warning I’m sure not able to find out all the details of.

Right now I’m working on trying to get the t switch working using the source for the head command as a reference. So far no real luck, we never get any output from it. It seems to break apart in the line of execuition so I know I’ve got to change things around.

I know I could just pass things along to head and tail via sh, but what is the fun in that? I’ll figure this out later must sleeeeeeeeeeeeppp!!!!

/* I don’t do HTML ! */