Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       tmpnam, tmpnam_r - einen Namen fur eine temporare Datei erzeugen

"UBERSICHT

       #include <stdio.h>

       char *tmpnam(char *s);

BESCHREIBUNG

       Die  Funktion  tmpnam() gibt einen Zeiger auf eine Zeichenkette zuruck,
       die ein gultiger  Dateiname  ist,  und  sorgt  dafur,  dass  zu  diesem
       Zeitpunkt  keine  Datei mit diesem Namen existiert, so dass ahnungslose
       Programmierer denken konnten, es  sei  ein  geeigneter  Name  fur  eine
       temporare  Datei.  Falls  das  Argument s NULL ist, wird dieser Name in
       einem   statischen   Puffer   generiert   und   konnte   von   nachsten
       tmpnam()-Aufruf  uberschrieben werden. Falls s nicht NULL ist, wird der
       Name in das Zeichenfeld kopiert  (das  mindestens  die  Lange  L_tmpnam
       hat), auf das s zeigt. Im Erfolgsfall wird s zuruckgegeben.

       Der  erzeugte  Pfadname  hat das Pfad-Prafix P_tmpdir. (Sowohl L_tmpnam
       als auch P_tmpdir sind in  <stdio.h>  definiert,  genauso  wie  das  im
       Folgenden erwahnte TMP_MAX.

R"UCKGABEWERT

       Die  Funktion tmpnam() gibt einen Zeiger auf den eindeutigen temporaren
       Dateinamen zuruck oder  NULL,  wenn  kein  eindeutiger  Name  generiert
       werden konnte.

FEHLER

       Es sind keine Fehler definiert.

KONFORM ZU

       SVr4,   4.3BSD,   C89,  C99,  POSIX.1-2001.  POSIX.1-2008  kennzeichnet
       tmpnam() als veraltet.

ANMERKUNGEN

       Die Funktion tmpnam() generiert jedesmal,  wenn  sie  aufgerufen  wird,
       eine  andere Zeichenkette. Dies geschieht bis zu TMP_MAX Mal. Falls sie
       ofter als TMP_MAX Mal aufgerufen wird, wird  ihr  Verhalten  durch  die
       Implementierung definiert.

       Obwohl  tmpnam()  Namen  generiert,  die schwer zu erahnen sind, ist es
       dennoch moglich, dass in der Zeit zwischen der Ruckgabe des  Pfadnamens
       und  der  Zeit,  in  der  er  vom  Programm  geoffnet wird, ein anderes
       Programm einen Pfadnamen mit open(2) erzeugt oder ihn als  symbolischen
       Link  erstellt.  Dies  kann  zu  Sicherheitslucken  fuhren.  Um  solche
       Moglichkeiten zu  vermeiden,  benutzen  Sie  den  Schalter  O_EXCL  von
       open(2),  um diesen Pfadnamen zu offnen oder besser noch - benutzen Sie
       mkstemp(3) oder tmpfile(3).

       Portierbare Anwendungen, die Threads benutzen,  konnen  tmpnam()  nicht
       mit einem Argument aufrufen, das NULL ist, wenn entweder _POSIX_THREADS
       oder _POSIX_THREAD_SAFE_FUNCTIONS definiert sind.

       Ein ursprunglicher POSIX-Entwurf schlug eine  tmpnam_r()-Funktion  vor,
       die definiert wurde wie folgt

           char *
           tmpnam_r(char *s)
           {
               return s ? tmpnam(s) : NULL;
           }

       scheinbar   als   Warnung   nicht  NULL  zu  benutzen.  Einige  Systeme
       implementierten das. Um einen Glibc-Prototypen fur  diese  Version  von
       <stdio.h>  zu  bekommen,  definieren  Sie _SVID_SOURCE oder _BSD_SOURCE
       (vor dem Einbinden irgendeiner Header-Datei).

FEHLER

       Benutzen  Sie  diese  Funktion  niemals.   Benutzen   Sie   stattdessen
       mkstemp(3) oder tmpfile(3).

SIEHE AUCH

       mkstemp(3), mktemp(3), tempnam(3), tmpfile(3)

KOLOPHON

       Diese   Seite   ist   Teil   der  Veroffentlichung  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     konnen,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

"UBERSETZUNG

       Die deutsche Ubersetzung dieser Handbuchseite wurde von Patrick  Rother
       <krd@gulu.net> und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese  Ubersetzung  ist  Freie Dokumentation; lesen Sie die GNU General
       Public  License  Version  3  oder  neuer   bezuglich   der   Copyright-
       Bedingungen. Es wird KEINE HAFTUNG ubernommen.

       Wenn  Sie  Fehler  in  der  Ubersetzung  dieser  Handbuchseite  finden,
       schicken     Sie     bitte     eine     E-Mail     an     <debian-l10n-
       german@lists.debian.org>.

                              10. September 2010                     TMPNAM(3)