I want to read a bunch of commandline args or config options from file 
in a C program.  Now, in bash, I can use a switch structure to do stuff
based on the *string* presented.  AFAIR, in C, you can only switch on an
*int*.

So, how do I use a switch to process my config options? Or do I have to
build an "if; elseif; else" ladder instead?  I have options in a config
file that look like

<opt> <arg>
location Belmullet
name "Joe Bloggs"

and commandline switches like

--force
-C /path/to/config.file

I can read these and put the values into "opt" and "arg" but what I need
to do next is the C equivalent to the following (bash)

case $opt in
        name)
                NAME=$arg
        ;;
        location)
                LOCATION=$arg
        ;;
        --force)
                FORCE=TRUE
        ;;
        -C)
                CONFIG_FILE=$arg
                readconfig($CONFIG_FILE)
        ;;
        *)
                echo "AARRRGGGHHHH!!!!!"
        ;;
esac

I even tried 

case (! strcmp(opt,"config-file")):

to try and return an integer for the case statement but it 
seems to need a constant rather than the return value from 
function to work properly.

TIA
Conor
-- 
Conor Daly <[EMAIL PROTECTED]>

Domestic Sysadmin :-)
---------------------
Faenor.cod.ie
  9:15pm  up 15 days, 21:32,  0 users,  load average: 0.08, 0.02, 0.01
Hobbiton.cod.ie
  9:21pm  up 15 days, 21:38,  2 users,  load average: 0.00, 0.00, 0.00

_______________________________________________
techtalk mailing list
[EMAIL PROTECTED]
http://www.linux.org.uk/mailman/listinfo/techtalk

Reply via email to