On Sat, 28 Sep 2002 16:23:02 +0200, michael loeffler wrote:

>   errno = 0; /* errno sollte sowiso auf null stehen, aber das hier um das
>               * nochmal zu betonen */
> 
>   perror("A"); /* das macht nun irgendwas da� nen Illegal Seek verursacht,
>                 * was imho nicht sein sollte */
> 
>   perror("B"); /* das zeigt nun den error "Illegal Seek" an, der vom
>                 * perror() davor, verursacht wurde */

> Und was den Verdacht, da� es sich um einen Bug handelt, noch verst�rkt ist
> da� es unter SunOS funktioniert wie ich es erwartete. perror() hat dort
> errno unver�ndert gelassen.

man perror:
       Note
       that  errno  is undefined after a successful library call:
       this call may well change this variable,  even  though  it
       succeeds,  for  example  because  it  internally used some
       other library function that failed.  Thus,  if  a  failing
       call  is not immediately followed by a call to perror, the
       value of errno should be saved.

Der call perror("A") ist erfolgreich und hinterl��t damit einen
undefinierten errno. Das folgende perror("B") ist somit sinnfrei. 
Also errno speichern wie die man-page sagt.

  Reinhard


-- 
Zum AUSTRAGEN schicken Sie eine Mail an [EMAIL PROTECTED]
mit dem Subject "unsubscribe". Probleme? Mail an [EMAIL PROTECTED] (engl)

Antwort per Email an