diff options
author | Mystery Man <unknown@mandriva.org> | 2002-07-18 17:04:07 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2002-07-18 17:04:07 +0000 |
commit | 427da37597ce1818756dbe3e2482135886fa80ca (patch) | |
tree | 560d65515b02387e636d045df233e641aabf5c24 /mdk-stage1/dietlibc/libcruft/mkstemp.c | |
parent | 53b3ee0964e09fa0a1ebf1f721485388afd8fa20 (diff) | |
download | drakx-427da37597ce1818756dbe3e2482135886fa80ca.tar drakx-427da37597ce1818756dbe3e2482135886fa80ca.tar.gz drakx-427da37597ce1818756dbe3e2482135886fa80ca.tar.bz2 drakx-427da37597ce1818756dbe3e2482135886fa80ca.tar.xz drakx-427da37597ce1818756dbe3e2482135886fa80ca.zip |
This commit was manufactured by cvs2svn to create tag 'V1_1_8_7mdk'.V1_1_8_7mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/mkstemp.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/mkstemp.c | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c deleted file mode 100644 index 3b24ecb54..000000000 --- a/mdk-stage1/dietlibc/libcruft/mkstemp.c +++ /dev/null @@ -1,23 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <errno.h> - -int mkstemp(char* template) { - char *tmp=template+strlen(template)-6; - int randfd; - int i,res; - unsigned int random; - for (i=0; i<6; ++i) if (tmp[i]!='X') { __set_errno(EINVAL); return -1; } - randfd=open("/dev/urandom",O_RDONLY); - for (;;) { - read(randfd,&random,sizeof(random)); - for (i=0; i<6; ++i) { - int hexdigit=(random>>(i*5))&0x1f; - tmp[i]=hexdigit>9?hexdigit+'a'-10:hexdigit+'0'; - } - res=open(template,O_CREAT|O_RDWR|O_EXCL,0600); - if (res>=0) return res; - } - close(randfd); -} |