home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d5xx / d536 / wfile.lha / WFile / src.lzh / profile.c < prev    next >
C/C++ Source or Header  |  1991-08-23  |  2KB  |  71 lines

  1. /*******************************************************************
  2. * profile.c : reads profile and changes its commands into command  *
  3. *          line parameters                       *
  4. *                                   *
  5. * created: 01-Mar-91 Mtwx                       *
  6. *******************************************************************/
  7.  
  8. /* --------------------- source code revisions, tracked by RCS ---------- */
  9.  
  10. /* $Header: Hard0:C-Compiler/src/wfile/rcs/profile.c,v 1.0 91/08/12 20:25:32 Mtwx Exp $ */
  11. /* $Log:    profile.c,v $
  12.  * Revision 1.0  91/08/12  20:25:32  Mtwx
  13.  * Initial revision
  14.  *  */
  15.  
  16. /* ----------------------- Includes ----------------------------- */
  17.  
  18. #include <stdio.h>
  19. #include <stdlib.h>
  20.  
  21. /* ----------------------- external references ------------------ */
  22.  
  23. extern char *templ_argv[];
  24.  
  25. /* -------------------------------------------------------------- */
  26.  
  27. int parse_profile(filename)
  28. char *filename;
  29. {
  30.   int t_argc=0;
  31.   char inputline[80];
  32.   FILE *file;
  33.  
  34. /* check presence of file (filename) and open */
  35.  
  36.   if((file=fopen(filename,"r"))==NULL)
  37.   {
  38.     perror(filename);
  39.     return 0;
  40.   }
  41.   while(fgets(inputline,79,file) != NULL)
  42.   {
  43.     if(inputline[0]!='#') /* only if line is not a comment */
  44.     {
  45. #ifdef AMIGA
  46.       inputline[strlen(inputline)-1]='\0';  /* discard newline */
  47. #endif
  48. #ifdef UNIX
  49.       inputline[strlen(inputline)-1]='\0';  /* discard newline */
  50. #endif
  51. #ifdef MSDOS
  52.       inputline[strlen(inputline)-2]='\0';  /* discard newline */
  53. #endif
  54.       templ_argv[t_argc]=(char *)malloc(strlen(inputline)+1);
  55.       if(templ_argv[t_argc]==NULL)
  56.       {
  57.     puts("Couldn't get memory for building template from profile");
  58.     printf("\'%s\' will not be processed!\n",inputline);
  59.       }
  60.       else
  61.       {
  62.     puts(inputline);
  63.     strcpy(templ_argv[t_argc],inputline);
  64.       }
  65.       t_argc++;
  66.     }
  67.   }
  68.   fclose(file);
  69.   return t_argc;
  70. }
  71.