diff options
author | Pascal Rigaux <pixel@mandriva.com> | 2005-05-06 02:43:04 +0000 |
---|---|---|
committer | Pascal Rigaux <pixel@mandriva.com> | 2005-05-06 02:43:04 +0000 |
commit | 4e506c9aefe5b89970ae6894d05ad53c81af0d83 (patch) | |
tree | 2fac98df209e72eaba773cad2d7b90c99d9d9249 /mdk-stage1/dietlibc/libcruft/mkstemp.c | |
parent | 793707b39bf2e9df40a6d2d60b83b3061088ae9e (diff) | |
download | drakx-4e506c9aefe5b89970ae6894d05ad53c81af0d83.tar drakx-4e506c9aefe5b89970ae6894d05ad53c81af0d83.tar.gz drakx-4e506c9aefe5b89970ae6894d05ad53c81af0d83.tar.bz2 drakx-4e506c9aefe5b89970ae6894d05ad53c81af0d83.tar.xz drakx-4e506c9aefe5b89970ae6894d05ad53c81af0d83.zip |
use installed dietlibc, not our forked cvs version
Diffstat (limited to 'mdk-stage1/dietlibc/libcruft/mkstemp.c')
-rw-r--r-- | mdk-stage1/dietlibc/libcruft/mkstemp.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/mdk-stage1/dietlibc/libcruft/mkstemp.c b/mdk-stage1/dietlibc/libcruft/mkstemp.c deleted file mode 100644 index 7dc19d4ed..000000000 --- a/mdk-stage1/dietlibc/libcruft/mkstemp.c +++ /dev/null @@ -1,31 +0,0 @@ -#include <unistd.h> -#include <fcntl.h> -#include <string.h> -#include <stdlib.h> -#include <errno.h> -#include "dietfeatures.h" - -#ifndef O_NOFOLLOW -#define O_NOFOLLOW 0 -#endif - -int mkstemp(char* template) { - char *tmp=template+strlen(template)-6; - int randfd; - int i,res; - unsigned int random; - if (tmp<template) goto error; - for (i=0; i<6; ++i) if (tmp[i]!='X') { error: 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|O_NOFOLLOW,0600); - if (res>=0 || errno!=EEXIST) break; - } - close(randfd); - return res; -} |