[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev Re: Problems downloading with Lynx285dev3

From: Thomas Dickey
Subject: Re: lynx-dev Re: Problems downloading with Lynx285dev3
Date: Wed, 17 Oct 2001 17:59:44 -0400
User-agent: Mutt/1.3.21i

On Wed, Oct 17, 2001 at 10:44:03PM +0100, Fr3dY wrote:
>       Hmmmm... I'm using an Amiga computer. Amiga has some kind of
>    Unix environment (Geek Gadgets, Ixemul Library), something similar
>    to CYGWIN under Windows (more compatible I guess).
>    Maybe the way mkstemp() has been implemented has some problem.
>    Maybe you could tell me how to test this function in order to see
>    if it does something that shouldn't.

well, here's the manpage.  I just checked in case I did the same error I've
caught a few times (overwriting the "XXXXXX" pattern), but that's ok.  It
sounds as if the mkstemp() on your implementation isn't making unique
names.  In the trace, there would be a line showing the resulting filename,
prefixed with "-> ", usually after a trace line with "LYOpenTemp()".  I'd
run the session with trace enabled and check first if the resulting names
were the same.  Offhand, I don't see any other ways fmt_tempname() would

MKSTEMP(3)          Linux Programmer's Manual          MKSTEMP(3)

       mkstemp - create a unique temporary file

       #include <stdlib.h>

       int mkstemp(char *template);

       The  mkstemp()  function generates a unique temporary file
       name from template.  The last six characters  of  template
       must  be  XXXXXX and these are replaced with a string that
       makes the filename unique. The file is then  created  with
       mode read/write and permissions 0666 (glibc 2.0.6 and ear-
       lier), 0600 (glibc 2.0.7 and later).   Since  it  will  be
       modified,  template  must  not  be  a string constant, but
       should be declared as a  character  array.   The  file  is
       opened  with  the  O_EXCL  flag,  guaranteeing  that  when
       mkstemp returns successfully we are the only user.

       The mkstemp() function returns the file descriptor  fd  of
       the temporary file or -1 on error.

       EINVAL The  last  six  characters  of  template  were  not
              XXXXXX.  Now template is unchanged.

       EEXIST Could not create a unique temporary filename.   Now
              the contents of template are undefined.

       The  old behaviour (creating a file with mode 0666) may be
       a security risk, especially since other Unix flavours  use
       0600, and somebody might overlook this detail when porting

       BSD 4.3

       The prototype is in <unistd.h> for libc4,  libc5,  glibc1;
       glibc2  follows  the Single Unix Specification and has the
       prototype in <stdlib.h>.

       mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)

GNU                         1993-04-03                 MKSTEMP(3)

Thomas E. Dickey <address@hidden>

; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]