Changeset 2029 for trunk/src


Ignore:
Timestamp:
Jun 13, 2005, 11:51:56 PM (21 years ago)
Author:
bird
Message:

o Replaced mktemp and mkstemp with BSD versions. Also adding

mkstemps, mkdtemp, arc4random, arc4random_addrandom and
arc4random_stir.

Location:
trunk/src/emx
Files:
1 added
2 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/ChangeLog.LIBC

    • Property cvs2svn:cvs-rev changed from 1.55 to 1.56
    r2028 r2029  
    66        o Fixed potential deadlock the first time a must-complete
    77          fmutex was entered.
     8
     9
     10
    811
    9122005-06-12: knut st. osmundsen <[email protected]>
  • trunk/src/emx/include/stdlib.h

    • Property cvs2svn:cvs-rev changed from 1.33 to 1.34
    r2028 r2029  
    241241#endif
    242242
    243 /** @todo __uint32_t
    244          arc4random(void); */
    245 /** @todo void   arc4random_addrandom(unsigned char *dat, int datlen); */
    246 /** @todo void   arc4random_stir(void); */
     243__uint32_t
     244         arc4random(void);
     245void     arc4random_addrandom(unsigned char *dat, int datlen);
     246void     arc4random_stir(void);
    247247char    *getbsize(int *, long *);
    248248                                        /* getcap(3) functions */
  • trunk/src/emx/include/unistd.h

    • Property cvs2svn:cvs-rev changed from 1.28 to 1.29
    r2028 r2029  
    501501/** @todo int    iruserok_sa(const void *, int, int, const char *, const char *); */
    502502int      issetugid(void);
    503 /** @todo char  *mkdtemp(char *); */
     503char    *mkdtemp(char *);
    504504int      mknod(const char *, mode_t, dev_t);
    505505#ifndef _MKSTEMP_DECLARED
     
    507507#define _MKSTEMP_DECLARED
    508508#endif
    509 /** @todo int    mkstemps(char *, int); */
     509int      mkstemps(char *, int);
    510510#ifndef _MKTEMP_DECLARED
    511511char    *mktemp(char *);
  • trunk/src/emx/src/lib/bsd/gen/arc4random.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r2028 r2029  
    3333#include <fcntl.h>
    3434#include <unistd.h>
     35
     36
     37
    3538#include <pthread.h>
     39
    3640
    3741#include "libc_private.h"
     
    4448};
    4549
     50
     51
     52
    4653static pthread_mutex_t  arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
     54
    4755
    4856#define RANDOMDEV       "/dev/urandom"
     57
     58
     59
     60
    4961#define THREAD_LOCK()                                           \
    5062        do {                                                    \
     
    5870                        _pthread_mutex_unlock(&arc4random_mtx); \
    5971        } while (0)
     72
    6073
    6174static struct arc4_stream rs;
     
    114127                (void) _read(fd, rdat.rnd, sizeof(rdat.rnd));
    115128                _close(fd);
    116         } 
     129        }
    117130        /* fd < 0?  Ah, what the heck. We'll just take whatever was on the
    118131         * stack... */
  • trunk/src/emx/src/lib/bsd/stdio/mktemp.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r2028 r2029  
    5858
    5959int
    60 mkstemps(path, slen)
     60(path, slen)
    6161        char *path;
    6262        int slen;
     
    6868
    6969int
    70 mkstemp(path)
     70(path)
    7171        char *path;
    7272{
     
    7676}
    7777
     78
    7879char *
    79 mkdtemp(path)
     80(path)
    8081        char *path;
    8182{
     
    9091}
    9192
     93
    9294__warn_references(mktemp,
    9395    "warning: mktemp() possibly used unsafely; consider using mkstemp()");
     96
    9497
    9598char *
    96 mktemp(path)
     99(path)
    97100        char *path;
    98101{
     
    174177                        if (*trv == '\0' || trv == suffp)
    175178                                return (0);
    176                         pad = strchr(padchar, *trv);
     179                        pad = strchr(padchar, *trv);
    177180                        if (pad == NULL || *++pad == '\0')
    178181                                *trv++ = padchar[0];
  • trunk/src/emx/src/lib/libc.def

    • Property cvs2svn:cvs-rev changed from 1.114 to 1.115
    r2028 r2029  
    17121712    "___infinity" @1716
    17131713    "___nan" @1717
     1714
     1715
     1716
     1717
     1718
     1719
     1720
Note: See TracChangeset for help on using the changeset viewer.