/[cvs]/joko/Uni/BSArch/03/win32/min_shell.c
ViewVC logotype

Annotation of /joko/Uni/BSArch/03/win32/min_shell.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.8 - (hide annotations)
Thu Jun 15 23:09:44 2006 UTC (18 years, 3 months ago) by joko
Branch: MAIN
Changes since 1.7: +8 -4 lines
File MIME type: text/plain
now processes multiple command from script file

1 joko 1.8 /* $Id: min_shell.c,v 1.7 2006/06/15 22:58:58 joko Exp $ */
2 joko 1.1
3     #include <stdlib.h>
4 joko 1.3 #include <stdio.h>
5 joko 1.1 #include <errno.h>
6 joko 1.2
7 joko 1.4 #include "min_shell.h"
8    
9    
10     #define MAX_COMMAND_LENGTH 1024
11    
12 joko 1.1 int main(int argc, char * argv[]) {
13 joko 1.8
14     // interactive mode with prompt
15 joko 1.1 if (argc == 1) {
16 joko 1.2 //printf("No arguments given.");
17     //exit(EXIT_FAILURE);
18     char filename[255] = "abc\0";
19     BOOL background = 0;
20 joko 1.7 os_start_process(filename, background);
21 joko 1.1 }
22 joko 1.4
23 joko 1.8 // scripting mode
24 joko 1.4 if (argc == 2) {
25     FILE * script = fopen(argv[1], "r");
26 joko 1.7 run_commands(script);
27 joko 1.4 fclose(script);
28     }
29 joko 1.1 }
30 joko 1.2
31 joko 1.7 void run_commands(FILE * fp) {
32 joko 1.4
33     char command[MAX_COMMAND_LENGTH];
34    
35 joko 1.8 while (fgets(command, MAX_COMMAND_LENGTH, fp)) {
36     chomp(command);
37     execute_command(command);
38     }
39 joko 1.4
40 joko 1.6 }
41    
42 joko 1.4
43 joko 1.7 void execute_command(char * command) {
44 joko 1.4 printf("process_command: %s\n", command);
45 joko 1.7 os_start_process(command, 0);
46 joko 1.3 }
47    

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed