Newsgroups: comp.sources.misc
From: kent@sparky.imd.sterling.com (Kent Landfield)
Subject:  v29i075:  rkive - Usenet sources archiver, Patch02
Message-ID: <1992Apr15.162108.28771@sparky.imd.sterling.com>
X-Md4-Signature: 6d6f92ed844d5c962fda6b0740a3e9c5
Date: Wed, 15 Apr 1992 16:21:08 GMT
Approved: kent@sparky.imd.sterling.com

Submitted-by: kent@sparky.imd.sterling.com (Kent Landfield)
Posting-number: Volume 29, Issue 75
Archive-name: rkive/patch02
Environment: UNIX
Patch-To: rkive: Volume 17, Issue 17-22

This is not the long awaited/promised patch to rkive... This is a bug
fix patch. The enhancements patch is still in the works. RSN.. :-) This
patch fixes a couple of nasty problems.   Thanks go out to Juergen Weigert  
<jnweiger@immd4.informatik.uni-erlangen.de> for initially pointing out the 
NNTP problem and to Chris Meyers <chris@wugate.wustl.edu> for providing the
NNTP patch.

 -Kent+
-------
diff -rc ../rkive2.1/article.h ./article.h
*** ../rkive2.1/article.h	Wed Apr 15 10:29:51 1992
--- ./article.h	Wed Apr 15 10:47:29 1992
***************
*** 1,5 ****
  /*
! ** 	@(#)article.h	2.3 5/9/91
  **
  */
  
--- 1,5 ----
  /*
! ** 	@(#)article.h	2.4 4/15/92
  **
  */
  
***************
*** 73,79 ****
  ** article header storage structure
  */
  
! #define MAX_HEADERS    35 /* No 'other' here! */
  
  
  struct    header {
--- 73,79 ----
  ** article header storage structure
  */
  
! #define MAX_HEADERS    36 /* No 'other' here! */
  
  
  struct    header {
diff -rc ../rkive2.1/nntpart.c ./nntpart.c
*** ../rkive2.1/nntpart.c	Wed Apr 15 10:29:55 1992
--- ./nntpart.c	Wed Apr 15 10:44:42 1992
***************
*** 9,15 ****
  */
  
  #if !defined(lint) && !defined(SABER)
! static char *SID = "@(#)nntpart.c	2.2 5/9/91";
  #endif
  
  /*LINTLIBRARY*/
--- 9,15 ----
  */
  
  #if !defined(lint) && !defined(SABER)
! static char *SID = "@(#)nntpart.c	2.3 4/15/92";
  #endif
  
  /*LINTLIBRARY*/
***************
*** 293,299 ****
          while (get_server(ser_line, sizeof(ser_line)) >= 0) {  /* while */
              if (ser_line[0] == '.' && ser_line[1] == '\0')  /* valid input */
                  break;                          /* get it and write it  */
!             (void) fputs(ser_line, tfp);        /* to standard output.  */
              (void) fputs("\n", tfp);
          }
          (void) fclose(tfp);
--- 293,311 ----
          while (get_server(ser_line, sizeof(ser_line)) >= 0) {  /* while */
              if (ser_line[0] == '.' && ser_line[1] == '\0')  /* valid input */
                  break;                          /* get it and write it  */
!           /* 
!             ** If the text contained a period as the first character of the 
!             ** text line in the original, that first period is doubled.  
!             ** Therefore, the client must examine the first character of 
!             ** each line received, and for those beginning with a period, 
!             ** determine either that this is the end of the text or whether 
!             ** to collapse the doubled period to a single one.
!             */
!  
!             if (ser_line[0] == '.')
!                 (void) fputs(ser_line+1, tfp);  /* doubled '.'  - collapse */
!             else
!                 (void) fputs(ser_line, tfp);    /* general textual input   */
              (void) fputs("\n", tfp);
          }
          (void) fclose(tfp);
diff -rc ../rkive2.1/patchlevel.h ./patchlevel.h
*** ../rkive2.1/patchlevel.h	Wed Apr 15 10:29:55 1992
--- ./patchlevel.h	Wed Apr 15 10:42:32 1992
***************
*** 1,5 ****
  /*
! **    @(#)patchlevel.h	2.3 5/9/91
  */
  #define RELEASE 2
! #define PATCHLEVEL 1
--- 1,5 ----
  /*
! **    @(#)patchlevel.h	2.4 4/15/92
  */
  #define RELEASE 2
! #define PATCHLEVEL 2
exit 0 # Just in case...
