> There is a line of code at that section - > > while ( --argc > 0 && ( *++argv ) [0] == '-' ) > while ( c= *++argv [0] ) > switch (c) {.......} > > I do not understand the portion c = *++argv[0]. From what i understand, the > 'result' of that incrementing and dereferencing will be c = argv[0][1], > which is wrong. Note the first (*++argv)[0] means that argv gets ++'d, so it moves past argv[0] to argv[1]'s address (skipping past the launch filename). Now when you do c = *++argv[0], that will increment the pointer of argv[1] by 1, skipping past the '-'. Code like the above is highly unreadable (hence your message), and authors of such atrocities should be taken out and maimed, shot, and otherwise tortured. ;-) (yes, I know it's K&R, but they weren't the best coders in the world). -->Neil ------------------------------------------------------------------------------- Neil Bradley In the land of the blind, the one eyed man is not Synthcom Systems, Inc. king - he's a prisoner. ICQ #29402898 -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics