summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/libcruft/mkdtemp.c
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2005-04-05 19:41:54 +0000
committerMystery Man <unknown@mandriva.org>2005-04-05 19:41:54 +0000
commit1d9a4b73a37c6e942f909c2d42ca13b5c47e8362 (patch)
tree5bab4266bc57a31d97ac6a8badc2ede721a42c9c /mdk-stage1/dietlibc/libcruft/mkdtemp.c
parent4691e29d1228b10abbe586c5ecb87ec9e13bd3ec (diff)
downloaddrakx-backup-do-not-use-10_2_20mdk.tar
drakx-backup-do-not-use-10_2_20mdk.tar.gz
drakx-backup-do-not-use-10_2_20mdk.tar.bz2
drakx-backup-do-not-use-10_2_20mdk.tar.xz
drakx-backup-do-not-use-10_2_20mdk.zip
This commit was manufactured by cvs2svn to create tag 'V10_2_20mdk'.V10_2_20mdk
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/mkdtemp.c')
-rw-r--r--mdk-stage1/dietlibc/libcruft/mkdtemp.c28
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;
-}