[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
mkstemp strange behavior
From: |
José Roberto B . de A . Monteiro |
Subject: |
mkstemp strange behavior |
Date: |
Wed, 10 Aug 2005 14:25:26 -0300 |
User-agent: |
Mutt/1.5.9i |
Hello all!
I was trying to use mkstemp! in my program, instead of tmpnam, but I have no
success... I mkstemp! is getting me confused. It alters original string, so
we can easely have the name of temporary file.
But, with following code, I suposed it would work, but it is reusing an old
string:
#!/usr/bin/guile \
-s
!#
(define (test)
(let ((filename "/tmp/XXXXXX")
(tmp #f))
(format #t "before: filename=~A\n" filename)
(set! tmp (mkstemp! filename))
(format #t "after : filename=~A\n" filename)
(close tmp)))
(format #t "First call...\n")
(test)
(format #t "Second call...\n")
(test)
And the result of this code is:
First call...
before: filename=/tmp/XXXXXX
after : filename=/tmp/HGLPtZ
Second call...
before: filename=/tmp/HGLPtZ
ERROR: In procedure mkstemp!:
ERROR: Invalid argument
I can not figure out why the string is not set to /tmp/XXXXXX in the second
call...
Some help!?
Regards
Betoes
- mkstemp strange behavior,
José Roberto B . de A . Monteiro <=