home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume30 / tin / part14 / debug.c < prev    next >
C/C++ Source or Header  |  1992-05-20  |  4KB  |  186 lines

  1. /*
  2.  *  Project   : tin - a threaded Netnews reader
  3.  *  Module    : debug.c
  4.  *  Author    : I.Lea
  5.  *  Created   : 01-04-91
  6.  *  Updated   : 10-05-92
  7.  *  Notes     : debug routines
  8.  *  Copyright : (c) Copyright 1991-92 by Iain Lea
  9.  *              You may  freely  copy or  redistribute  this software,
  10.  *              so  long as there is no profit made from its use, sale
  11.  *              trade or  reproduction.  You may not change this copy-
  12.  *              right notice, and it must be included in any copy made
  13.  */
  14.  
  15. #include "tin.h"
  16. #include "nntplib.h"
  17.  
  18. int debug;
  19.  
  20. /*
  21.  *  nntp specific debug routines
  22.  */
  23.  
  24. void debug_nntp (func, line)
  25.     char *func;    
  26.     char *line;    
  27. {
  28. #ifdef DEBUG
  29.     FILE *fp;
  30.  
  31.     if (debug != 1)
  32.         return;
  33.  
  34.     if ((fp = fopen ("/tmp/NNTP","a+")) != NULL) {
  35.         fprintf (fp,"%s: %s\n", func, line);
  36.         fclose (fp);
  37.         chmod ("/tmp/NNTP", 0666);
  38.     }
  39. #endif
  40. }
  41.  
  42.  
  43. void debug_nntp_respcode (respcode)
  44.     int respcode;
  45. {
  46. #ifdef DEBUG
  47.     debug_nntp ("get_respcode", nntp_respcode (respcode));
  48. #endif
  49. }    
  50.  
  51. /*
  52.  *  tin specific debug routines
  53.  */
  54.  
  55. void debug_print_arts ()
  56. {
  57. #ifdef DEBUG
  58.     int i;
  59.  
  60.     if (debug != 2)
  61.         return;
  62.  
  63.     for (i = 0; i < top; i++) {    /* for each group */
  64.         debug_print_header (&arts[i]);
  65.     }
  66. #endif
  67. }
  68.  
  69.  
  70. void debug_print_header (s)
  71.     struct article_t *s;
  72. {
  73. #ifdef DEBUG
  74.     FILE *fp;
  75.  
  76.     if (debug != 2)
  77.         return;
  78.  
  79.     if ((fp = fopen ("/tmp/ARTS","a+")) != NULL) {
  80.         fprintf (fp,"art=[%5ld] tag=[%s] kill=[%s] hot=[%s]\n", s->artnum,
  81.             (s->tagged ? "TRUE" : "FALSE"),
  82.             (s->killed ? "TRUE" : "FALSE"),
  83.             (s->hot ? "TRUE" : "FALSE"));
  84.         fprintf (fp,"subj=[%-38s]\n", s->subject);
  85.         fprintf (fp,"date=[%s]  from=[%s]  name=[%s]\n", s->date, s->from, s->name);
  86.          if (s->archive) {
  87.              fprintf (fp, "arch=[%-38s]  ", s->archive);
  88.          } else {
  89.              fprintf (fp, "arch=[]  ");
  90.          }
  91.          if (s->part) {
  92.              fprintf (fp, "part=[%s]  ", s->part);
  93.          } else {
  94.              fprintf (fp, "part=[]  ");
  95.          }
  96.          if (s->patch) {
  97.              fprintf (fp, "patch=[%s]\n", s->patch);
  98.         } else {
  99.              fprintf (fp, "patch=[]\n");
  100.          }
  101.         fprintf (fp,"thread=[%d]  inthread=[%d]  unread=[%d]\n\n",
  102.             s->thread, s->inthread, s->unread);
  103. /*        fprintf (fp,"thread=[%s]  inthread=[%s]  unread=[%s]\n",
  104.             (s->thread == ART_NORMAL ? "ART_NORMAL" : "ART_EXPIRED"),
  105.             (s->inthread ? "TRUE" : "FALSE"),
  106.             (s->unread ? "TRUE" : "FALSE"));
  107. */
  108.         fflush (fp);
  109.         fclose (fp);
  110.         chmod ("/tmp/DUMP", 0666);
  111.     }
  112. #endif
  113. }
  114.  
  115.  
  116. void debug_print_comment (comment)
  117.     char *comment;
  118. {
  119. #ifdef DEBUG
  120.     FILE *fp;
  121.  
  122.     if (debug != 2)
  123.         return;
  124.  
  125.     if ((fp = fopen ("/tmp/BASE","a+")) != NULL) {
  126.         fprintf (fp,"\n%s\n\n", comment);
  127.         fflush (fp);
  128.         fclose (fp);
  129.         chmod ("/tmp/BASE", 0666);
  130.     }
  131. #endif
  132. }
  133.  
  134.  
  135. void debug_print_base ()
  136. {
  137. #ifdef DEBUG
  138.     FILE *fp;
  139.     int i;
  140.  
  141.     if (debug != 2)
  142.         return;
  143.  
  144.     if ((fp = fopen ("/tmp/BASE","a+")) != NULL) {
  145.         for (i = 0; i < top_base; i++) {
  146.             fprintf (fp, "base[%3d]=[%5ld]\n",i,base[i]);
  147.         }
  148.         fflush (fp);
  149.         fclose (fp);
  150.         chmod ("/tmp/BASE", 0666);
  151.     }
  152. #endif
  153. }
  154.  
  155.  
  156. void debug_print_active ()
  157. {
  158. #ifdef DEBUG
  159.     FILE *fp;
  160.     int i;
  161.  
  162.     if (debug != 2)
  163.         return;
  164.  
  165.     if ((fp = fopen ("/tmp/ACTIVE","w")) != NULL) {
  166.         for (i = 0; i < num_active; i++) {    /* for each group */
  167.             fprintf (fp, "[%4d]=[%-28s] max=[%4ld] min=[%4ld] mod=[%c] nxt=[%4d] flag=[%d]\n",
  168.                 i, active[i].name, active[i].max, active[i].min,
  169.                 active[i].moderated, active[i].next, active[i].flag);
  170.             fprintf (fp, "read=[%d] show=[%d] thread=[%d] sort=[%d] author=[%d] auto=[%d] process=[%d]\n",
  171.                 active[i].attribute.read,    active[i].attribute.showall,
  172.                 active[i].attribute.thread,  active[i].attribute.sortby,
  173.                 active[i].attribute.author,  active[i].attribute.autosave,
  174.                 active[i].attribute.process);
  175.             fprintf (fp, "server=[%s] ", (active[i].attribute.server  == (char *) 0 ? "" : active[i].attribute.server));
  176.             fprintf (fp, "maildir=[%s] ",(active[i].attribute.maildir == (char *) 0 ? "" : active[i].attribute.maildir));            
  177.             fprintf (fp, "savedir=[%s] ",(active[i].attribute.savedir == (char *) 0 ? "" : active[i].attribute.savedir));
  178.             fprintf (fp, "sigfile=[%s]\n\n",(active[i].attribute.sigfile == (char *) 0 ? "" : active[i].attribute.sigfile));
  179.         }
  180.         fflush (fp);
  181.         fclose (fp);
  182.         chmod ("/tmp/ACTIVE", 0666);
  183.     }
  184. #endif
  185. }
  186.