Hallo,
was mich noch wundert,
while ( (c = \*(\*(argv))++ ) != '\0') {
inkrementiert ja nur eine temporäre variable. das kann eigentlich nicht gehen?
\*argv++;
müßte eigentlich auch argv++; heißen, bzw. sollte man eine neue variable zum iterieren nehmen, um argv nicht zu verändern