[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
fail.
MKSTEMP(3) Linux Programmer's Manual MKSTEMP(3)
NAME
mkstemp - create a unique temporary file
SYNOPSIS
#include <stdlib.h>
int mkstemp(char *template);
DESCRIPTION
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.
RETURN VALUE
The mkstemp() function returns the file descriptor fd of
the temporary file or -1 on error.
ERRORS
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.
BUGS
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
programs.
CONFORMING TO
BSD 4.3
NOTE
The prototype is in <unistd.h> for libc4, libc5, glibc1;
glibc2 follows the Single Unix Specification and has the
prototype in <stdlib.h>.
SEE ALSO
mktemp(3), tmpnam(3), tempnam(3), tmpfile(3)
GNU 1993-04-03 MKSTEMP(3)
--
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net
; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden