All pastes #383313 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-03-06 07:35 UTC
rendered paste body
void editreadfile (struct options *options, list_ref list, char *filetoberead)
{
   FILE* input = fopen(filetoberead, "r");
   char stdinline[1024];
   int stdincount = 0;
   if(input == NULL) return;
   for(;; ++stdincount) {
            
      char *linepos = fgets (stdinline, sizeof stdinline, input);
      if (linepos == NULL) break;
      if(linepos == EOF) break;
      linepos = strchr (stdinline, '\n'); 
      if (linepos == NULL || stdinline[0] == '\0') {
         badline (stdincount, stdinline);
      }else {
         *linepos = '\0';
         switch (stdinline[0]) {
            case '$': f_dollar(list);
                      STUBPRINTF ("stdin[%d]: $\n", stdincount); break;
            case '*': f_star(list);
                      STUBPRINTF ("stdin[%d]: *\n", stdincount); break;
                      
            case '.': f_dot(list);
                      STUBPRINTF ("stdin[%d]: .\n", stdincount); break;
            case '0': f_zero(list);
                      STUBPRINTF ("stdin[%d]: 0\n", stdincount); break;
          case '>': f_GT(list);
                      STUBPRINTF ("stdin[%d]: >\n", stdincount); break;
            case '@': debugdump_list (list); break;
            case 'a': f_a(stdinline, list);
                      STUBPRINTF ("stdin[%d]: a\n", stdincount); break;
            case 'd': f_d(list);
                      STUBPRINTF ("stdin[%d]: d\n", stdincount); break;
            case 'i': f_i(stdinline,list);
                      STUBPRINTF ("stdin[%d]: i\n", stdincount);
                      break;
            case 'r': STUBPRINTF ("stdin[%d]: r\n", stdincount); break;
            case 'w': STUBPRINTF ("stdin[%d]: w\n", stdincount); break;
            default : badline (stdincount, stdinline);
         };
      };
   };                 
}
int main (int argc, char **argv) {
   struct options options;
   list_ref list = NULL;
   int argi = 0;
   bzero (&options, sizeof options);
   set_progname (argv[0]); 
   scanoptions (&options, argc, argv);
   argi = 1;
   list = new_list();
       
   for (argi=options.optend; argi < argc; ++argi) {
      editreadfile(&options, list, argv[argi]);
   }
     
   editfile (&options, list);
   free_list (list); list = NULL;
   return get_exitcode();
}