bad alloc example added
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* $Id: urandom.c,v 1.1.1.1 2008-04-28 17:32:53 mbroeker Exp $
* $Source: /development/c/demos/urandom.c,v $
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int compare (unsigned char *a, unsigned char *b)
{
if (*a > *b)
return 1;
return -1;
}
int main (int argc, char **argv)
{
int i;
int elements;
int fd;
unsigned char numbers[256] = { 0 };
fd = open ("/dev/urandom", O_RDONLY);
if (fd == -1)
return EXIT_FAILURE;
elements = read (fd, numbers, 255);
numbers[elements] = 0;
qsort (numbers, elements, sizeof (unsigned char), (void *)&compare);
for (i = 0; i < elements; i++) {
printf ("Number: %d\n", numbers[i]);
}
close (fd);
return EXIT_SUCCESS;
}