home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / networking / uucp / amigauucpsrc / dnews / postnews.c < prev    next >
C/C++ Source or Header  |  1994-06-29  |  1KB  |  63 lines

  1.  
  2. /*
  3.  *  POSTNEWS.C
  4.  *
  5.  *  note:   TmpFileName() may already be in use, do not use the call.
  6.  *  note:   PostNews deletes files for us
  7.  *  note:   grp might not be known, thus we cannot use the cache to
  8.  *        obtain Referencs: and Message-ID:
  9.  */
  10.  
  11. #include "defs.h"
  12.  
  13. Prototype void PostNews(FILE *, char *);
  14.  
  15. void
  16. PostNews(refi, infile)
  17. FILE *refi;        /*  can be NULL:, used to get References:   */
  18. char *infile;
  19. {
  20.     char reffile[64];
  21.     FILE *xfi;
  22.     static short Count;
  23.  
  24.     sprintf(reffile, "T:dnews-%06lx%04x", (unsigned long)FindTask(NULL) >> 2, Count);
  25.     ++Count;
  26.  
  27.     xfi = fopen(reffile, "w");
  28.     if (xfi == NULL) {
  29.     printf("Couldn't create %s\n", reffile);
  30.     return;
  31.     }
  32.     if (refi) {
  33.     char *field;
  34.  
  35.     fprintf(xfi, "References: ");
  36.     if (field = FindField(refi, "References:")) {
  37.         fprintf(xfi, " %s", field);
  38.         free(field);
  39.     }
  40.     if (field = FindField(refi, "Message-ID:")) {
  41.         fprintf(xfi, " %s", field);
  42.         free(field);
  43.     }
  44.     fprintf(xfi, "\n");
  45.     }
  46.     fclose(xfi);
  47.  
  48.     /*
  49.      *    -x option to postnews deletes file
  50.      */
  51.  
  52.     sprintf(TmpBuf, "RUN <nil: >nil: %s %s -R %s -x %s -x %s",
  53.     GetConfigProgram(POSTNEWS),
  54.     infile,     /*  news file    */
  55.     reffile,    /*  -R        */
  56.     infile,     /*  done/delete */
  57.     reffile     /*  done/delete */
  58.     );
  59.     system(TmpBuf);
  60. }
  61.  
  62.  
  63.