Exemplo n.º 1
0
int main (int argc, char *argv[])
{
   int i;
   char buf[1024];
   SLPreprocess_Type pt;

   SLprep_open_prep (&pt);
   SLdefine_for_ifdef ("UNIX");

   /* super cheap getopts */
   for (i = 1; i < argc; i++) 
     {
	char *p = argv[i];
	if (*p++ != '-') break;
	if (*p == '-')   break;

	if (*p == 'D')
	  {
	     SLdefine_for_ifdef (p + 1);
	     continue;
	  }
	
	while (*p) {
	   switch (*p) {
	    case 'B': pt.flags |= (SLPREP_BLANK_LINES_OK);	break;
	    case 'C': pt.flags |= (SLPREP_COMMENT_LINES_OK);	break;
	    case 'c': if (p[1]) pt.comment_char = *++p;		break;
	    case 'p': if (p[1]) pt.preprocess_char = *++p;	break;
	    default:
	      fprintf (stderr, "unknown flag '%c'\n", *p);
	      break;
	   }
	   p++;
	}
     }
   
   while (NULL != fgets (buf, sizeof (buf) - 1, stdin))
     {
	if (SLprep_line_ok (buf, &pt))
	  fputs (buf, stdout);
     }
   
   SLprep_close_prep (&pt);
   return 0;
}
Exemplo n.º 2
0
int slrn_read_score_file (char *file)
{
   Score_Context_Type sc;
   int status;

   if (Group_Score_Root != NULL)
     {
	free_group_scores ();
     }
   free_group_chain ();
   while (Scorefile_Names != NULL)
     {
	Scorefile_Name_Type *next = Scorefile_Names->next;
	slrn_free ((char *) Scorefile_Names->filename);
	slrn_free ((char *) Scorefile_Names);
	Scorefile_Names = next;
     }

   sc.today = get_today ();
   sc.score = 0;
   sc.start_new_group = 1;
   sc.gnt_not_flag = 0;
   sc.start_new_score = 0;
   sc.score_has_expired = 0;
   sc.pscore_flags = 0;
   sc.pst = NULL;
   sc.group[0] = '*';
   sc.group[1] = 0;

   (void) SLprep_open_prep (&sc.pt);
   status = read_score_file_internal (file, &sc);
   SLprep_close_prep (&sc.pt);
   
   if (status == -1)
     Slrn_Apply_Score = 0;
   else
     Slrn_Apply_Score = 1;

   return status;
}