gethostbyname()
Še ena cvetka iz Microsoftovih logov. Ja, res je, ne razvijam dosti za Windows platforme in ponosen sem na to, ko pa razvijam, pa večino časa vzdihujem in jamram nad bizarnostmi. Tole je citat iz MSDNja:
“Note The gethostbyname function has been deprecated by the introduction of the getaddrinfo function. Developers creating Windows Sockets 2 applications are urged to use the getaddrinfo function instead of gethostbyname.”
In potem se ljudje čudijo zakaj se otepam razvoja za Windows. Zakaj? Preprosto, preprosto zato, ker napišem eno funkcijo, ki deluje na petih različnih operacijskih sistemih, a pri šestem mi dokumentacije reče, da je neka funkcija deprecated in da naj uporabim neko drugo, ki vrne ven nekaj popolnoma drugega.
Tako bo sedaj moja funkcija, ki od userja zahteva FQDN ali pa IP številko pisana dvakrat. Enkrat za vse spodobne operacijske sisteme in drugič, za neko stekleno razbitino.
4 thoughts on “gethostbyname()”
po drugi strani pa še vedno poganjajo 16-bitne aplikacije in vlečejo kupe brezveznih pradavnosti s sabo, vse za združljivost. toliko o konsistentnosti…
Saj getaddrinfo ni tko svoh zadeva sam po sebi, je tudi del POSIXa. Se mi zdi se veliko huje recimo listanje mreznih vmesnikov (ce komu rata iz msdnja pogruntat kako to narest v manj kot 15 minutah, mu castim peer:), ali pa to, da ne mores selectat cevi, ki itak grozno pocasi delajo.
Mah, getaddrinfo() je neka ‘novotarija’ iz leta 2001, ko je bila zabrisana v POSIX in so bile gethostbyname() in njej sorodne funkcije oznacene za obsolete. Ampak, kaj, ko imam toliko razlicnih sistemov za katere moram delati.
Pravzaprav, sem sel preveriti, getaddrinfo() je POSIX 2003 compliant.
Na kaj naj se zdaj zanasam? Na en POSIX iz leta 2003? Ce pa mora stvar delovati na AIX 4.2/5.0 in pa na HP-UX 11.10 (ce ze ne na 10.00).
Ma, tole me zene v depresijo.
Comments are closed.