diff options
author | Mystery Man <unknown@mandriva.org> | 2004-02-20 00:03:26 +0000 |
---|---|---|
committer | Mystery Man <unknown@mandriva.org> | 2004-02-20 00:03:26 +0000 |
commit | 959a1722faec6b30510c788c49dcb4b7cb96d1e0 (patch) | |
tree | 8d25ea2b09098078292e7dcda489471a30b4e81a /mdk-stage1/dietlibc/libcruft/mkdtemp.c | |
parent | 0413d7133026a6cddf226027ebdfee6fa68890f7 (diff) | |
download | drakx-backup-do-not-use-10_0_21mdk.tar drakx-backup-do-not-use-10_0_21mdk.tar.gz drakx-backup-do-not-use-10_0_21mdk.tar.bz2 drakx-backup-do-not-use-10_0_21mdk.tar.xz drakx-backup-do-not-use-10_0_21mdk.zip |
This commit was manufactured by cvs2svn to create tag 'V10_0_21mdk'.V10_0_21mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/mkdtemp.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/mkdtemp.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/mkdtemp.c b/mdk-stage1/dietlibc/libcruft/mkdtemp.c deleted file mode 100644 index 1c388938c..000000000 --- a/mdk-stage1/dietlibc/libcruft/mkdtemp.c +++ /dev/null @@ -1,28 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> -#include <errno.h> -#include "dietfeatures.h" - -char* mkdtemp(char* template) { - char *tmp=template+strlen(template)-6; - int randfd,i; - unsigned int random; - if (tmp<template) goto error; - for (i=0; i<6; ++i) if (tmp[i]!='X') { error: errno=EINVAL; return 0; } - 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'; - } - if (mkdir(template,0700)==0) break; - if (errno==EEXIST) continue; - close(randfd); - return 0; - } - close(randfd); - return template; -} |