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

Diff of /trunk/instrument.c

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

revision 67 by siliconforks, Thu Nov 22 01:30:37 2007 UTC revision 92 by siliconforks, Wed May 7 04:21:22 2008 UTC
# Line 1  Line 1 
1  /*  /*
2      instrument.c - file and directory instrumentation routines      instrument.c - file and directory instrumentation routines
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 162  Line 162 
162        copy_file(source_file, destination_file);        copy_file(source_file, destination_file);
163        break;        break;
164      case FILE_TYPE_JS:      case FILE_TYPE_JS:
       highlight_file(source_file, destination_file, id);  
165        {        {
166          FILE * input = xfopen(source_file, "r");          FILE * input = xfopen(source_file, "r");
167          FILE * output = xfopen(destination_file, "w");          FILE * output = xfopen(destination_file, "w");
168          jscoverage_instrument_js(id, input, output);  
169            Stream * input_stream = Stream_new(0);
170            Stream * output_stream = Stream_new(0);
171    
172            Stream_write_file_contents(input_stream, input);
173    
174            jscoverage_instrument_js(id, input_stream, output_stream);
175    
176            if (fwrite(output_stream->data, 1, output_stream->length, output) != output_stream->length) {
177              fatal("cannot write to file: %s", destination_file);
178            }
179    
180            Stream_delete(input_stream);
181            Stream_delete(output_stream);
182    
183          fclose(input);          fclose(input);
184          fclose(output);          fclose(output);
185        }        }
186          highlight_file(source_file, destination_file, id);
187        break;        break;
188      }      }
189    }    }
# Line 225  Line 239 
239      fatal("cannot stat directory: %s", destination);      fatal("cannot stat directory: %s", destination);
240    }    }
241    
242      /* copy the resources */
243      jscoverage_copy_resources(destination);
244    
245    /* finally: copy the directory */    /* finally: copy the directory */
246    struct DirListEntry * list = make_recursive_dir_list(source);    struct DirListEntry * list = make_recursive_dir_list(source);
247    for (struct DirListEntry * p = list; p != NULL; p = p->next) {    for (struct DirListEntry * p = list; p != NULL; p = p->next) {

Legend:
Removed from v.67  
changed lines
  Added in v.92

  ViewVC Help
Powered by ViewVC 1.1.24