myprintf.c added - replaces varargs.c
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* test/demos/prog_limit.c
* Copyright (C) 2008 Markus Broeker
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>
int set_limit (int);
int main (int argc, char **argv)
{
int i;
char **args;
if (argc < 3) {
printf ("Usage: %s <mem> <cmd> [args]...\n", argv[0]);
printf ("Report bugs to mbroeker@largo.homelinux.org\n");
return EXIT_FAILURE;
}
if ((args = calloc ((argc - 2), sizeof (char *))) == NULL) {
perror ("calloc");
return EXIT_FAILURE;
}
for (i = 2; i < argc; i++)
args[i - 2] = argv[i];
args[i] = NULL;
if (set_limit (atoi (argv[1])) == 0)
execvp (argv[2], args);
else
perror ("Limit Error");
if (args != NULL)
free (args);
return EXIT_SUCCESS;
}