home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Lib / io / rd_q.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  1.5 KB  |  83 lines

  1. /* rd_q.c: reads the control file in Q/addr into memory */
  2.  
  3. # ifndef lint
  4. static char Rcsid[] = "@(#)$Header: /xtel/pp/pp-beta/Lib/io/RCS/rd_q.c,v 6.0 1991/12/18 20:22:26 jpo Rel $";
  5. # endif
  6.  
  7. /*
  8.  * $Header: /xtel/pp/pp-beta/Lib/io/RCS/rd_q.c,v 6.0 1991/12/18 20:22:26 jpo Rel $
  9.  *
  10.  * $Log: rd_q.c,v $
  11.  * Revision 6.0  1991/12/18  20:22:26  jpo
  12.  * Release 6.0
  13.  *
  14.  */
  15.  
  16.  
  17.  
  18. #include "head.h"
  19. #include <isode/cmd_srch.h>
  20. #include "q.h"
  21. #include "tb_q.h"
  22.  
  23.  
  24. /* ---------------------  Begin  Routines  -------------------------------- */
  25.  
  26. static int R_umpdu ();
  27.  
  28. int rd_q (qp, fp)
  29. register Q_struct       *qp;
  30. FILE                    *fp;
  31. {
  32.  
  33.     PP_DBG (("Lib/io/rd_q()"));
  34.     q_init (qp);
  35.     return (R_umpdu (qp, fp));
  36. }
  37.  
  38.  
  39.  
  40. /* ---------------------  Static  Routines  ------------------------------- */
  41.  
  42.  
  43.  
  44. static int R_umpdu (qp, fp)
  45. register Q_struct       *qp;
  46. FILE                    *fp;
  47. {
  48.     char            buf[10*BUFSIZ],
  49.             *argv[100];
  50.     int             argc,
  51.             retval;
  52.     long        fp_startln;
  53.  
  54.  
  55.     PP_DBG (("Lib/io/R_umpdu()"));
  56.  
  57.     q_init (qp);
  58.  
  59.     for (;;) {
  60.         
  61.         fp_startln = ftell(fp);
  62.  
  63.         retval = txt2buf (buf, sizeof buf, fp);
  64.  
  65.         if (rp_isbad (retval)) {
  66.             PP_DBG (("Lib/io/R_umpdu txt2buf retval (%d - %s)",
  67.                 retval, rp_valstr (retval)));
  68.             return (retval);
  69.         }
  70.  
  71.         PP_DBG (("Lib/io/R_umpdu(buf='%.999s')", &buf[0]));
  72.  
  73.         if ((argc = str2arg (buf, 100, argv)) == 0)
  74.             return (RP_PARM);
  75.  
  76.         retval = txt2q (qp, fp_startln, argv, argc);
  77.  
  78.         PP_DBG (("Lib/io/R_umpdu (txt2q=%d)", retval));
  79.         if (retval == NOTOK)    return (RP_PARM);
  80.         if (retval == Q_END)    return (RP_OK);
  81.     }
  82. }
  83.