diff options
Diffstat (limited to 'native/libMicro-0.4.0/exec_bin.c')
-rw-r--r-- | native/libMicro-0.4.0/exec_bin.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/native/libMicro-0.4.0/exec_bin.c b/native/libMicro-0.4.0/exec_bin.c new file mode 100644 index 0000000..4cddfd3 --- /dev/null +++ b/native/libMicro-0.4.0/exec_bin.c @@ -0,0 +1,65 @@ +/* + * CDDL HEADER START + * + * The contents of this file are subject to the terms + * of the Common Development and Distribution License + * (the "License"). You may not use this file except + * in compliance with the License. + * + * You can obtain a copy of the license at + * src/OPENSOLARIS.LICENSE + * or http://www.opensolaris.org/os/licensing. + * See the License for the specific language governing + * permissions and limitations under the License. + * + * When distributing Covered Code, include this CDDL + * HEADER in each file and include the License file at + * usr/src/OPENSOLARIS.LICENSE. If applicable, + * add the following below this CDDL HEADER, with the + * fields enclosed by brackets "[]" replaced with your + * own identifying information: Portions Copyright [yyyy] + * [name of copyright owner] + * + * CDDL HEADER END + */ + +/* + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. + */ + +/* + * time program to recursively test exec time + */ + +#include <unistd.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +int +main(int argc, char *argv[]) +{ + int left; + + if (argc == 1) { + exit(1); + } + + left = atoi(argv[1]); + + left--; + + if (left <= 0) { + exit(0); + } else { + char buffer[80]; + (void) sprintf(buffer, "%d", left); + argv[1] = buffer; + if (execv(argv[0], argv)) { + exit(2); + } + } + + return (0); +} |