/* ==== do_inc.c ============================================================
 * (C) 1996 Chris Provenzano
 *
 * Description : filecabnit 
 *				 An interactive data storage/retrieval system.
 *
 * 96/03/o2 proven - Started coding
 */

#include <unistd.h>
#include <errno.h>
#include "util.h"

/* ==========================================================================
 * do_inc();
 */
int do_inc(int argc, char **argv, int * first, int * count)
{
	char ** inc_args = NULL;
	int ret = ENOMEM;
	pid_t pid;

	argc++;
	if (inc_argv = (char**)malloc(sizeof(char *) * argc)) {
		for (i = 1; i < argc; i++) 
			inc_argv[i] = argv[i - 1];
		inc_argv[0] = "inc";

		switch(pid = fork()) {
		case NOTOK:
			ret = errno;
			break;
		case OK:
			execvp("inc", argv);
			exit(1);
			break;
		default:
			waitpid(pid, &status, 0);
			ret = OK;
			break;
		}
		free(incargs);
	}
	return(ret);
}
