/[jscoverage]/trunk/jscoverage.c
ViewVC logotype

Diff of /trunk/jscoverage.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 69 by siliconforks, Thu Nov 22 01:50:33 2007 UTC revision 311 by siliconforks, Mon Oct 13 17:51:29 2008 UTC
# Line 1  Line 1 
1  /*  /*
2      main.c - JSCoverage main routine      main.c - JSCoverage main routine
3      Copyright (C) 2007 siliconforks.com      Copyright (C) 2007, 2008 siliconforks.com
4    
5      This program is free software; you can redistribute it and/or modify      This program is free software; you can redistribute it and/or modify
6      it under the terms of the GNU General Public License as published by      it under the terms of the GNU General Public License as published by
# Line 17  Line 17 
17      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.      51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */  */
19    
20    #include <config.h>
21    
22  #include <stdio.h>  #include <stdio.h>
23  #include <stdlib.h>  #include <stdlib.h>
24  #include <string.h>  #include <string.h>
25    
26    #include "global.h"
27  #include "instrument.h"  #include "instrument.h"
28  #include "instrument-js.h"  #include "instrument-js.h"
29  #include "resource-manager.h"  #include "resource-manager.h"
30  #include "util.h"  #include "util.h"
31    
32    const char * jscoverage_encoding = "ISO-8859-1";
33    bool jscoverage_highlight = true;
34    
35  int main(int argc, char ** argv) {  int main(int argc, char ** argv) {
36    int verbose = 0;    int verbose = 0;
37    
# Line 35  Line 41 
41    char * source = NULL;    char * source = NULL;
42    char * destination = NULL;    char * destination = NULL;
43    
44    char ** no_instrument = xmalloc((argc - 1) * sizeof(char *));    char ** no_instrument = xnew(char *, argc - 1);
45    int num_no_instrument = 0;    int num_no_instrument = 0;
46    
47    char ** exclude = xmalloc((argc - 1) * sizeof(char *));    char ** exclude = xnew(char *, argc - 1);
48    int num_exclude = 0;    int num_exclude = 0;
49    
50    for (int i = 1; i < argc; i++) {    for (int i = 1; i < argc; i++) {
# Line 47  Line 53 
53        exit(EXIT_SUCCESS);        exit(EXIT_SUCCESS);
54      }      }
55      else if (strcmp(argv[i], "-V") == 0 || strcmp(argv[i], "--version") == 0) {      else if (strcmp(argv[i], "-V") == 0 || strcmp(argv[i], "--version") == 0) {
56        printf("jscoverage %s\n", VERSION);        version();
       exit(EXIT_SUCCESS);  
57      }      }
58      else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) {      else if (strcmp(argv[i], "-v") == 0 || strcmp(argv[i], "--verbose") == 0) {
59        verbose = 1;        verbose = 1;
60      }      }
61        else if (strcmp(argv[i], "--no-highlight") == 0) {
62          jscoverage_highlight = false;
63        }
64      else if (strcmp(argv[i], "--no-instrument") == 0) {      else if (strcmp(argv[i], "--no-instrument") == 0) {
65        i++;        i++;
66        if (i == argc) {        if (i == argc) {
67          fatal("--no-instrument: option requires an argument");          fatal_command_line("--no-instrument: option requires an argument");
68        }        }
69        no_instrument[num_no_instrument] = argv[i];        no_instrument[num_no_instrument] = argv[i];
70        num_no_instrument++;        num_no_instrument++;
# Line 68  Line 76 
76      else if (strcmp(argv[i], "--exclude") == 0) {      else if (strcmp(argv[i], "--exclude") == 0) {
77        i++;        i++;
78        if (i == argc) {        if (i == argc) {
79          fatal("--exclude: option requires an argument");          fatal_command_line("--exclude: option requires an argument");
80        }        }
81        exclude[num_exclude] = argv[i];        exclude[num_exclude] = argv[i];
82        num_exclude++;        num_exclude++;
# Line 77  Line 85 
85        exclude[num_exclude] = argv[i] + 10;        exclude[num_exclude] = argv[i] + 10;
86        num_exclude++;        num_exclude++;
87      }      }
88        else if (strcmp(argv[i], "--encoding") == 0) {
89          i++;
90          if (i == argc) {
91            fatal_command_line("--encoding: option requires an argument");
92          }
93          jscoverage_encoding = argv[i];
94        }
95        else if (strncmp(argv[i], "--encoding=", 11) == 0) {
96          jscoverage_encoding = argv[i] + 11;
97        }
98      else if (strncmp(argv[i], "-", 1) == 0) {      else if (strncmp(argv[i], "-", 1) == 0) {
99        fatal("unrecognized option `%s'", argv[i]);        fatal_command_line("unrecognized option `%s'", argv[i]);
100      }      }
101      else if (source == NULL) {      else if (source == NULL) {
102        source = argv[i];        source = argv[i];
# Line 87  Line 105 
105        destination = argv[i];        destination = argv[i];
106      }      }
107      else {      else {
108        fatal("too many arguments");        fatal_command_line("too many arguments");
109      }      }
110    }    }
111    
112    if (source == NULL || destination == NULL) {    if (source == NULL || destination == NULL) {
113      fatal("missing argument");      fatal_command_line("missing argument");
114    }    }
115    
116    source = make_canonical_path(source);    source = make_canonical_path(source);

Legend:
Removed from v.69  
changed lines
  Added in v.311

  ViewVC Help
Powered by ViewVC 1.1.24