open a errno

Stanislav Meduna stano-cznews na meduna.org
Středa Srpen 29 20:51:22 CEST 2001


On Wed, 29 Aug 2001 09:30:03 +0000 (UTC), Robert Vojta wrote:

:   Kdyz ho totiz budete nulovat a kontrolovat potom jenom errno, tak se Vam
: muze stat, ze jednou zapomenete errno zkontrolovat, pak ho zkontrolujete
: u jine funkce, ktera probehla OK a kdyz to errno bude nastavene
: z te predchozi funkce budete si myslet, ze chyba je uplne nekde jinde ...

Este inak. errno ma zmysel kontrolovat _vylucne_ vtedy, ked dotycna
funkcia vratila chybu. Nie je zarucene, ze errno zostane vynulovane,
pokial funkcia skonci korektne. Pseudokod nejakej libc funkcie
moze kludne vyzerat nasledovne:

{
  errno = EACCESS;

  if (toto)
    return -1;

  if (tamto)
    return -1;

  nieco_uzitocne_urob;

  return 0;
}

A nie je to len teoria, sam mam kdesi v RH patch na tuto temu.
Proste zavolali krizom-krazom niekolko funkcii, nechcelo sa im
kontrolovat return kody a az nakoniec sa spytali na errno.
Najvacsie sranda bola, ze to nefungovalo len pri nastavenom
inom locale ako C...

Zdravi
-- 
                                          Stano



Další informace o konferenci Linux