OSDN Git Service

Modify Makefile for util/src
[eos/base.git] / src / Tools / mrcImage / mrcImageSamplingUnitChange / src / argCheck.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <math.h>
5 #include "../inc/config.h"
6 #include "genUtil.h"
7 #include "eosString.h"
8 #include "File.h"
9 #include "Memory.h"
10
11
12 void
13 argCheck(mrcImageSamplingUnitChangeInfo* info, int argc, char* argv[])
14 {
15     long i;
16     char s[1024];
17     FILE* fpt;
18     
19     if(NULL==(fpt=fopen(".EosLog", "a+"))) { 
20         
21     } else {
22         for(i=0; i<argc; i++) {
23             fprintf(fpt, "%s ", argv[i]);
24         }
25         fprintf(fpt, "\n");
26         fclose(fpt);
27     }
28     for(i=1; i<argc; i++) {
29         if(OPTION_FLAG==argv[i][OPTION_FLAG_POS]) {
30             SSWITCH(argv[i]+OPTION_POS)
31                 SCASE("i") {
32                     if(i+1<argc) {
33                         info->In = stringGetNthWord(argv[i+1], 1, " ,");
34                         i++;
35                         info->flagIn++;
36                     } else {
37                         usage(argv[0]);
38                         exit(EXIT_FAILURE);
39                     }
40                     SBREAK;
41                 }
42                 SCASE("o") {
43                     if(i+1<argc) {
44                         info->Out = stringGetNthWord(argv[i+1], 1, " ,");
45                         i++;
46                         info->flagOut++;
47                     } else {
48                         usage(argv[0]);
49                         exit(EXIT_FAILURE);
50                     }
51                     SBREAK;
52                 }
53                 SCASE("S") {
54                     if(i+3<argc) {
55                         info->Sx = stringGetNthRealData(argv[i+1], 1, " ,");
56                         i++;
57                         info->flagSx++;
58                         info->Sy = stringGetNthRealData(argv[i+1], 1, " ,");
59                         i++;
60                         info->flagSy++;
61                         info->Sz = stringGetNthRealData(argv[i+1], 1, " ,");
62                         i++;
63                         info->flagSz++;
64                     } else {
65                         usage(argv[0]);
66                         exit(EXIT_FAILURE);
67                     }
68                     SBREAK;
69                 }
70                 SCASE("N") {
71                     if(i+3<argc) {
72                         info->Nx = stringGetNthIntegerData(argv[i+1], 1, " ,");
73                         i++;
74                         info->flagNx++;
75                         info->Ny = stringGetNthIntegerData(argv[i+1], 1, " ,");
76                         i++;
77                         info->flagNy++;
78                         info->Nz = stringGetNthRealData(argv[i+1], 1, " ,");
79                         i++;
80                         info->flagNz++;
81                     } else {
82                         usage(argv[0]);
83                         exit(EXIT_FAILURE);
84                     }
85                     SBREAK;
86                 }
87                 SCASE("c") {
88                     if(i+1<argc) {
89                         info->configFile = stringGetNthWord(argv[i+1], 1, " ,");
90                         i++;
91                         info->flagconfigFile++;
92                     } else {
93                         usage(argv[0]);
94                         exit(EXIT_FAILURE);
95                     }
96                     SBREAK;
97                 }
98                 SCASE("m") {
99                     if(i+1<argc) {
100                         info->mode = stringGetNthIntegerData(argv[i+1], 1, " ,");
101                         i++;
102                         info->flagmode++;
103                     } else {
104                         usage(argv[0]);
105                         exit(EXIT_FAILURE);
106                     }
107                     SBREAK;
108                 }
109                 SCASE("h") {
110                     usage(argv[0]);
111                     exit(EXIT_SUCCESS);
112                     break;
113                 }
114                 SCASE("html") {
115                     htmlBeforeUsage(argv[0]);
116                     usage(argv[0]);
117                     htmlAfterUsage(argv[0]);
118                     exit(EXIT_SUCCESS);
119                     break;
120                 }
121                 SDEFAULT {
122                     fprintf(stderr, "Not Supported Options: :%s\n", argv[i]);
123                     usage(argv[0]);
124                     exit(EXIT_FAILURE);
125                     break;
126                 }
127             SSWITCHEND;
128         } 
129     } 
130