[linux-l] Re: Mac und Linux

Rocco Rutte pdmef at cs.tu-berlin.de
Mo Aug 7 10:50:41 CEST 2006


Hi,

* Volker Grabsch [06-08-04 09:06:52 +0200] wrote:

>Ich habe mir vor kurzem getopt_long() nochmal angesehen, weil ich es
>gebraucht habe. Im Manual von GNU-getopt steht klar drin, dass
>die Argumente permutiert werden (switches und switch-Argumente nach
>vorn).

Das Problem an der Sache ist, dass es POSIX-Vorgaben für getopt() gibt 
und ich bei so trivialen Sachen einfach davon ausgehe, dass das 
Verhalten Standardkonform ist.

In der GNU Manpage steht wohl, dass noch zwei weitere Modi von GNU 
getopt() implementiert werden. Sorry, aber ich halte das für totales 
Over-Engineering und für totalen Quatsch sowie Verschwendung von 
Manpower auf nicht-existierende Probleme. Wenn jemand die Usability 
erhöhen will, dann soll er ls(1) als Shell-Builtin implementieren und 
kann dann darin die Argumente permutieren; also nur für Programme, von 
denen man ganz genau weiss, dass das keinen Einfluss hat; bei anderen 
weiss man es nicht.

Und wenn ich bei der Portierung von Software auf die glibc Rücksicht auf 
getopt() nehmen muss (mit Environment-Variablen für getopt(), hallo!?, 
oder auch mit einem '+' wovon ich nicht weiss wie andere 
getopt()-Implementierungen darauf reagieren), dann kann ich von der 
Verwendung nur abraten. Außerdem ist selber parsen auch noch schneller. 
:)

Wenn eine C-Bibliothek Standards erweitert, dann bitte mit anderen 
Funktionsnamen, damit die Standards so genau wie möglich implementiert 
werden. Und: an den Stellen, an denen es sich lohnt. Bei neuen Methoden 
ist das was anderes, da können sich die Leute von mir aus austoben.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l