NN 6.3 -- Official Patch #4 (part 03/03)

Kim F. Storm storm at texas.dk
Tue Jul 11 00:37:35 AEST 1989


This is patch #4 for nn 6.3 (part 3 of 3).


#!/bin/sh
# this is part 3 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file PATCH.4 continued
#
CurArch=3
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
echo "x - Continuing file PATCH.4"
sed 's/^X//' << 'NN_IS_BETTER' >> PATCH.4
X      struct sel_art elem;
X      FILE *f;
X      char buffer[16];
X--- 35,49 ----
X  };
X  
X  
X! save_selection(gh, first, last, type)
X  group_header *gh;
X  article_number first, last;
X+ int type;
X  {
X      register article_header *ah, **ahp;
X!     register article_number art;
X!     register int save_count, seen_count;
X!     register int32 flags, save_flags;
X      struct sel_art elem;
X      FILE *f;
X      char buffer[16];
X***************
X*** 48,57 ****
X  
X      if (gh->group_flag & (G_FOLDER | G_READ)) return;
X  
X      for (save_count = seen_count = 0, art = n_articles; --art >= 0; ) {
X  	flags = articles[art]->flag; 
X  	if (flags & A_SEEN) seen_count++;
X! 	if (flags & A_SELECT) save_count++;
X      }
X      
X      if (save_count == 0 && 
X--- 50,66 ----
X  
X      if (gh->group_flag & (G_FOLDER | G_READ)) return;
X  
X+     save_flags = A_LEAVE | A_LEAVE_NEXT;
X+     if (type == 0) save_flags |= A_READ;
X+ 	
X      for (save_count = seen_count = 0, art = n_articles; --art >= 0; ) {
X  	flags = articles[art]->flag; 
X  	if (flags & A_SEEN) seen_count++;
X! 	if (flags & A_KILL) continue;
X! 	/* we count only the non-auto selected articles, */
X! 	/* but we still save all selections later if save_count > 0 */
X! 	if ((flags & save_flags) || (flags & (A_SELECT | A_AUTO)) == A_SELECT)
X! 	    save_count++;
X      }
X      
X      if (save_count == 0 && 
X***************
X*** 66,84 ****
X      header.sl_first = htonl(first);
X      header.sl_last  = htonl(last);
X      
X!     fwrite(&header, sizeof(header), 1, f);
X  
X      unsort_articles(1);
X      
X      for (ahp = articles, art = 0; art < n_articles; ahp++, art++) {
X  	ah = *ahp;
X! 	if (elem.sl_flag = htonl(ah->flag & (A_SELECT | A_SEEN))) {
X! 	    
X! 	    elem.sl_number = htonl(ah->a_number);
X! 	    elem.sl_fpos   = htonl(ah->fpos);
X! 	    
X! 	    fwrite(&elem, sizeof(elem), 1, f);
X  	}
X      }
X      
X      fclose(f);
X--- 75,104 ----
X      header.sl_first = htonl(first);
X      header.sl_last  = htonl(last);
X      
X!     fwrite((char *)&header, sizeof(header), 1, f);
X  
X      unsort_articles(1);
X      
X      for (ahp = articles, art = 0; art < n_articles; ahp++, art++) {
X  	ah = *ahp;
X! 	switch (type) {
X! 	 case 0:		/* save current selection */
X! 	    break;
X! 	 case 1:		/* mark seen as read */
X! 	    if (ah->flag & (A_READ | A_SEEN)) continue;
X! 	    break;
X! 	 case 2:		/* leave seen articles unread */
X! 	    if (ah->flag & A_READ) continue;
X! 	    ah->flag &= ~A_SEEN;
X! 	    break;
X  	}
X+ 	if (ah->flag & A_LEAVE_NEXT) ah->flag |= A_LEAVE;
X+ 
X+ 	elem.sl_flag = htonl(ah->flag & (A_SELECT | A_SEEN | A_LEAVE | A_READ));
X+ 	elem.sl_number = htonl(ah->a_number);
X+ 	elem.sl_fpos   = htonl(ah->fpos);
X+ 	    
X+ 	fwrite((char *)&elem, sizeof(elem), 1, f);
X      }
X      
X      fclose(f);
X***************
X*** 102,108 ****
X      f = open_file(relative(nn_directory, buffer), OPEN_READ|OPEN_UNLINK);
X      if (f == NULL) return 0;
X  
X!     if (fread(&header, sizeof(header), 1, f) != 1
X  	|| ntohl(header.sl_magic) != SLMAGIC
X  	|| strncmp(header.sl_group, gh->group_name, GNAME_LGT)) {
X  	fclose(f);
X--- 122,128 ----
X      f = open_file(relative(nn_directory, buffer), OPEN_READ|OPEN_UNLINK);
X      if (f == NULL) return 0;
X  
X!     if (fread((char *)&header, sizeof(header), 1, f) != 1
X  	|| ntohl(header.sl_magic) != SLMAGIC
X  	|| strncmp(header.sl_group, gh->group_name, GNAME_LGT)) {
X  	fclose(f);
X***************
X*** 138,145 ****
X      register long art;
X      struct sel_art elem;
X      register article_header *ah, **ahp;
X! 
X!     if (!ok) goto out;
X      
X      elem.sl_number = -1;
X      
X--- 158,169 ----
X      register long art;
X      struct sel_art elem;
X      register article_header *ah, **ahp;
X!     int do_elim = 0;
X!     
X!     if (!ok) {
X! 	fclose(sel_file);
X! 	return;
X!     }
X      
X      elem.sl_number = -1;
X      
X***************
X*** 149,155 ****
X  	if (ah->a_number > header.sl_last) break;
X      
X  	while (ah->a_number > elem.sl_number) {
X! 	    if (fread(&elem, sizeof(elem), 1, sel_file) != 1) goto out;
X  #ifndef NETWORK_BYTE_ORDER
X  	    elem.sl_number = ntohl(elem.sl_number);
X  #endif
X--- 173,179 ----
X  	if (ah->a_number > header.sl_last) break;
X      
X  	while (ah->a_number > elem.sl_number) {
X! 	    if (fread((char *)&elem, sizeof(elem), 1, sel_file) != 1) goto out;
X  #ifndef NETWORK_BYTE_ORDER
X  	    elem.sl_number = ntohl(elem.sl_number);
X  #endif
X***************
X*** 159,165 ****
X  	elem.sl_fpos = ntohl(elem.sl_fpos);
X  #endif
X  	while (ah->a_number == elem.sl_number && ah->fpos > elem.sl_fpos) {
X! 	    if (fread(&elem, sizeof(elem), 1, sel_file) != 1) goto out;
X  #ifndef NETWORK_BYTE_ORDER
X  	    elem.sl_number = ntohl(elem.sl_number);
X  	    elem.sl_fpos = ntohl(elem.sl_fpos);
X--- 183,189 ----
X  	elem.sl_fpos = ntohl(elem.sl_fpos);
X  #endif
X  	while (ah->a_number == elem.sl_number && ah->fpos > elem.sl_fpos) {
X! 	    if (fread((char *)&elem, sizeof(elem), 1, sel_file) != 1) goto out;
X  #ifndef NETWORK_BYTE_ORDER
X  	    elem.sl_number = ntohl(elem.sl_number);
X  	    elem.sl_fpos = ntohl(elem.sl_fpos);
X***************
X*** 166,179 ****
X  #endif
X  	}
X  	
X! 	if (ah->a_number != elem.sl_number || ah->fpos != elem.sl_fpos) 
X  	    continue;
X! 	
X  	ah->flag |= ntohl(elem.sl_flag);
X      }
X      
X  out:
X! 	
X      fclose(sel_file);
X  }
X  
X--- 190,213 ----
X  #endif
X  	}
X  	
X! 	if (ah->a_number != elem.sl_number || ah->fpos != elem.sl_fpos) {
X! 	    ah->flag |= A_KILL;
X! 	    do_elim = 1;
X  	    continue;
X! 	}	
X  	ah->flag |= ntohl(elem.sl_flag);
X      }
X      
X  out:
X!     for ( ; art < n_articles ; art++) {
X! 	ah = *ahp++;
X! 	if (ah->a_number > header.sl_last) break;
X! 	ah->flag |= A_KILL;
X! 	do_elim = 1;
X!     }
X!     
X!     if (do_elim) elim_articles((article_number *)NULL, 0);
X!     
X      fclose(sel_file);
X  }
X  
X
X*** /usr/storm/nn6.3.2/sequence.c	Wed Jun 28 20:08:11 1989
X--- sequence.c	Sat Jul  8 01:26:22 1989
X***************
X*** 7,12 ****
X--- 7,13 ----
X  
X  export group_header *group_sequence;
X  export char *read_mail = NULL;
X+ export int also_unsub_groups = 0;
X  
X  static int seq_break_enabled = 1;	/* !! enabled */
X  
X***************
X*** 77,83 ****
X  	found = 0;
X  	start_group_search(group);
X  	while (gh = get_group_search()) {
X! 	    if ((gh->group_flag & G_SUBSCRIPTION) == 0) continue;
X  	    found++;
X  	    enter_normal(gh);
X  	}
X--- 78,85 ----
X  	found = 0;
X  	start_group_search(group);
X  	while (gh = get_group_search()) {
X! 	    if ((gh->group_flag & G_SUBSCRIPTION) == 0 && !also_unsub_groups)
X! 		continue;
X  	    found++;
X  	    enter_normal(gh);
X  	}
X***************
X*** 117,123 ****
X      Loop_Groups_Sorted(gh) {
X  	if (gh->group_flag & G_DONE) continue;
X  	
X! 	if ((gh->group_flag & G_SUBSCRIPTION) == 0) continue;
X  
X  	enter_normal(gh);
X      }
X--- 119,126 ----
X      Loop_Groups_Sorted(gh) {
X  	if (gh->group_flag & G_DONE) continue;
X  	
X! 	if ((gh->group_flag & G_SUBSCRIPTION) == 0 && !also_unsub_groups)
X! 	    continue;
X  
X  	enter_normal(gh);
X      }
X***************
X*** 301,307 ****
X  	    gh->save_file = dflt_save;
X  	    
X  	    if (group_name_args == 0 &&
X! 		(gh->group_flag & G_SUBSCRIPTION) == 0) continue;
X  
X  #ifdef SEQ_TEST
X  	    if (Debug & SEQ_TEST && mode != SHOW_NORMAL)
X--- 304,311 ----
X  	    gh->save_file = dflt_save;
X  	    
X  	    if (group_name_args == 0 &&
X! 		(gh->group_flag & G_SUBSCRIPTION) == 0 && !also_unsub_groups)
X! 		continue;
X  
X  #ifdef SEQ_TEST
X  	    if (Debug & SEQ_TEST && mode != SHOW_NORMAL)
X***************
X*** 364,370 ****
X      group_header *gh;
X      
X      gh = (group_header *)calloc(1, sizeof(group_header));
X!     mem_check(gh, 1, "group header");
X      
X      gh->group_name = name;
X      gh->group_flag = flag | G_READ;
X--- 368,374 ----
X      group_header *gh;
X      
X      gh = (group_header *)calloc(1, sizeof(group_header));
X!     mem_check((char *)gh, 1, "group header");
X      
X      gh->group_name = name;
X      gh->group_flag = flag | G_READ;
X***************
X*** 384,389 ****
X--- 388,394 ----
X  #define	GS_SUFFIX	2	/* .group */
X  #define GS_INFIX	3	/* .group. */
X  #define GS_NEW_GROUP	4	/* new group */
X+ #define GS_ALL		5	/* all / . */
X  
X  static start_group_search(group)
X  char *group;
X***************
X*** 393,398 ****
X--- 398,407 ----
X      if (strcmp(group, "NEW") == 0) {
X  	gs_mode = GS_NEW_GROUP;
X  	gs_length = 0;
X+     } else 
X+     if (strcmp(group, "all") == 0 || strcmp(group, ".") == 0) {
X+ 	gs_mode = GS_ALL;
X+ 	gs_length = 0;
X      } else {
X  	gs_mode = GS_PREFIX;
X  	
X***************
X*** 446,451 ****
X--- 455,463 ----
X  	    
X  	 case GS_INFIX:
X  	    user_error(".name. notation not supported (yet)");
X+ 	    break;
X+ 
X+ 	 case GS_ALL:
X  	    break;
X  	}
X  
X
X*** /usr/storm/nn6.3.3/term.c	Fri Jun 30 11:31:10 1989
X--- term.c	Wed Jul  5 16:52:18 1989
X***************
X*** 20,25 ****
X--- 20,26 ----
X  export int  prompt_length;
X  export int  slow_mode = 0;
X  export int  any_message = 0;
X+ export int  flow_control = 1;
X  
X  export char help_key = '?';
X  export char comp1_key = SP;
X***************
X*** 36,41 ****
X--- 37,44 ----
X  
X  #define HAS_CAP(str) (str && *str)
X  
X+ extern char *tgoto();		/* some systems don't have this in term.h */
X+ 
X  #else
X  
X  #define USE_TERMCAP
X***************
X*** 233,239 ****
X  #endif
X      
X  #ifdef USE_TERMINFO
X!     setupterm(0,1,0);
X      Columns = columns;
X      Lines = lines;
X      cookie_size = magic_cookie_glitch;
X--- 236,242 ----
X  #endif
X      
X  #ifdef USE_TERMINFO
X!     setupterm((char *)NULL, 1, (int *)NULL);
X      Columns = columns;
X      Lines = lines;
X      cookie_size = magic_cookie_glitch;
X***************
X*** 521,529 ****
X--- 524,538 ----
X  }
X  
X  static int is_raw = 0;
X+ static int must_set_raw = 1;
X  
X  raw()
X  {
X+     if (!flow_control) {
X+ 	if (!must_set_raw) return;
X+ 	must_set_raw = 0;
X+     }
X+     
X      if (is_raw) return;
X  
X  #ifdef HAVE_TERMIO
X***************
X*** 536,541 ****
X--- 545,552 ----
X  
X  no_raw()
X  {
X+     if (!flow_control) return 0;
X+     
X      if (!is_raw) return 0;
X  
X  #ifdef HAVE_TERMIO
X***************
X*** 546,551 ****
X--- 557,575 ----
X      is_raw = 0;
X  
X      return 1;
X+ }
X+ 
X+ unset_raw()
X+ {
X+     int oflow = flow_control;
X+     int was_raw;
X+     
X+     flow_control = 1;
X+     was_raw = no_raw();
X+     flow_control = oflow;
X+     if (!flow_control)
X+ 	must_set_raw = 1;
X+     return was_raw;
X  }
X  
X  flush_input()
X
X*** /usr/storm/nn6.3.0/term.h	Thu Jun  1 11:11:03 1989
X--- term.h	Wed Jul  5 14:58:50 1989
X***************
X*** 25,30 ****
X--- 25,45 ----
X  
X  extern get_c();
X  
X+ /* special keys returned by get_c() */
X+ 
X+ #define	K_interrupt	CTRL('G')
X+ 
X+ #define	K_up_arrow	0x0081
X+ #define	K_down_arrow	0x0082
X+ #define K_left_arrow	0x0083
X+ #define K_right_arrow	0x0084
X+ 
X+ #define	K_function(n)	(0x0085 + n)
X+ 
X+ 
X+ #define	GETC_COMMAND	0x4000	/* bit set by get_c to return a command */
X+ 
X+ 
X  /*
X   *	prompt_line = ...
X   *	prompt( [P_COMMAND], ] [ format [, arg1 ... , arg4] ] );
X
X*** /usr/storm/nn6.3.3/variable.c	Fri Jun 30 11:31:12 1989
X--- variable.c	Mon Jul 10 11:33:52 1989
X***************
X*** 7,13 ****
X--- 7,16 ----
X  import in_init;
X  
X  import char			/* string variables */
X+     *default_distribution,
X      *default_save_file,
X+     *extra_mail_headers,
X+     *extra_news_headers,
X      *header_lines,
X      *folder_directory,
X      included_mark[],
X***************
X*** 14,22 ****
X      *mail_box,
X      *mail_record,
X      *news_record,
X- #ifdef NNTP
X-     nntp_server[],
X- #endif
X      *pager,
X      *patch_cmd,
X      printer[],
X--- 17,22 ----
X***************
X*** 31,42 ****
X--- 31,45 ----
X      dont_sort_articles,
X      dont_sort_folders,
X      dont_split_digests,
X+     flow_control,
X      fmt_rptsubj,
X+     include_art_id,
X      keep_rc_backup,
X      long_menu,
X      macro_debug,
X      mark_overlap,
X      monitor_mode,
X+     nn_re_style,
X      novice,
X      quick_save,
X      save_report,
X***************
X*** 85,98 ****
X--- 88,104 ----
X      "cross-post",	V_BOOLEAN,	0,	(char **)&also_cross_postings,
X      "date",		V_BOOLEAN,	0,	(char **)&show_article_date,
X      "debug",		V_INTEGER,	0,	(char **)&Debug,
X+     "default-distribution",V_STRING,	0,	(char **)&default_distribution,
X      "default-save-file",V_STRING,	0,	(char **)&default_save_file,
X      "delay-redraw",	V_BOOLEAN,	0,	(char **)&delay_redraw,
X      "erase-key",	V_KEY,		0,	(char **)&erase_key,
X      "expert",		V_BOOLEAN,	4,	(char **)&novice,
X+     "flow-control",	V_BOOLEAN,	0,	(char **)&flow_control,
X      "folder",		V_STRING,	2,	(char **)&folder_directory,
X      "fsort",		V_BOOLEAN,	2,	(char **)&dont_sort_folders,
X      "header-lines",	V_STRING,	0,	(char **)&header_lines,
X      "help-key",		V_KEY,		0,	(char **)&help_key,
X+     "include-art-id",	V_BOOLEAN,	0,	(char **)&include_art_id,
X      "included-mark",	V_STRING,	1,	(char **)included_mark,
X      "kill",		V_BOOLEAN,	0,	(char **)&do_kill_handling,
X      "kill-key",		V_KEY,		0,	(char **)&kill_key,
X***************
X*** 103,116 ****
X      "macro-debug",	V_BOOLEAN,	0,	(char **)&macro_debug,
X      "mail",		V_STRING,	0,	(char **)&mail_box,
X      "mail-format",	V_BOOLEAN,	0,	(char **)&use_mail_folders,
X      "mail-record",	V_STRING,	2,	(char **)&mail_record,
X      "mark-overlap",	V_BOOLEAN,	0,	(char **)&mark_overlap,
X      "monitor",		V_BOOLEAN,	0,	(char **)&monitor_mode,
X      "news-record",	V_STRING,	2,	(char **)&news_record,
X      "newsrc",		V_BOOLEAN,	0,	(char **)&use_newsrc,
X! #ifdef NNTP
X!     "nntp-server",	V_STRING,	1,	(char **)nntp_server,
X! #endif
X      "old",		V_SPECIAL,	2,	(char **)NULL,
X      "overlap",		V_INTEGER,	0,	(char **)&overlap,
X      "pager",		V_STRING,	0,	(char **)&pager,
X--- 109,122 ----
X      "macro-debug",	V_BOOLEAN,	0,	(char **)&macro_debug,
X      "mail",		V_STRING,	0,	(char **)&mail_box,
X      "mail-format",	V_BOOLEAN,	0,	(char **)&use_mail_folders,
X+     "mail-header",	V_STRING,	0,	(char **)&extra_mail_headers,
X      "mail-record",	V_STRING,	2,	(char **)&mail_record,
X      "mark-overlap",	V_BOOLEAN,	0,	(char **)&mark_overlap,
X      "monitor",		V_BOOLEAN,	0,	(char **)&monitor_mode,
X+     "news-header",	V_STRING,	0,	(char **)&extra_news_headers,
X      "news-record",	V_STRING,	2,	(char **)&news_record,
X      "newsrc",		V_BOOLEAN,	0,	(char **)&use_newsrc,
X!     "nn-re-style",	V_BOOLEAN,	0,	(char **)&nn_re_style,
X      "old",		V_SPECIAL,	2,	(char **)NULL,
X      "overlap",		V_INTEGER,	0,	(char **)&overlap,
X      "pager",		V_STRING,	0,	(char **)&pager,
X***************
X*** 171,177 ****
X  int on;
X  char *val_string;
X  {
X!     long value;
X      register struct variable_defs *var;
X  
X      if (strncmp(variable, "no", 2) == 0) {
X--- 177,183 ----
X  int on;
X  char *val_string;
X  {
X!     int value;
X      register struct variable_defs *var;
X  
X      if (strncmp(variable, "no", 2) == 0) {
X***************
X*** 185,191 ****
X      if (!on || val_string == NULL)
X  	value = 0;
X      else	
X! 	value = atol(val_string);
X  
X      switch (var->var_type) {
X  	
X--- 191,197 ----
X      if (!on || val_string == NULL)
X  	value = 0;
X      else	
X! 	value = atoi(val_string);
X  
X      switch (var->var_type) {
X  	
X
X*** /usr/storm/nn6.3.3/xmakefile	Fri Jun 30 11:31:13 1989
X--- xmakefile	Mon Jul 10 11:40:15 1989
X***************
X*** 182,258 ****
X  cvt-help:	cvt-help.c
X  	cc -o cvt-help cvt-help.c
X  
X! active.o:	active.c config.h global.h data.h
X! 
X! admin.o:	admin.c config.h global.h data.h term.h db.h
X! 
X! answer.o:	answer.c config.h global.h data.h news.h term.h keymap.h
X! 
X! articles.o:	articles.c config.h global.h data.h articles.h db.h match.h
X! 
X! collect.o:	collect.c config.h global.h data.h db.h news.h
X! 
X! date_regexp.o:	config.h global.h data.h
X! 
X! db.o:		db.c config.h global.h data.h db.h
X! 
X! decode.o:	decode.c config.h
X! 
X! digest.o:	digest.c config.h global.h data.h news.h match.h
X! 
X! execute.o:	execute.c config.h global.h data.h term.h
X! 
X! expire.o:	expire.c config.h global.h data.h
X! 
X! folder.o:	folder.c config.h global.h data.h articles.h news.h term.h menu.h
X! 
X! global.o:	global.c config.h global.h data.h
X! 
X! group.o:	group.c config.h global.h data.h articles.h db.c term.h menu.h keymap.h
X! 
X! init.o:		init.c config.h global.h data.h articles.h keymap.h term.h menu.h 
X! 
X! keymap.o:	keymap.c config.h global.h data.h keymap.h term.h
X! 
X! kill.o:		kill.c config.h global.h data.h term.h
X! 
X  log_entry.o:	log_entry.c
X! 
X! master.o:	master.c config.h global.h data.h
X! 
X! menu.o:		menu.c config.h global.h data.h articles.h term.h menu.h keymap.h
X! 
X! more.o:		more.c config.h global.h data.h news.h term.h menu.h keymap.h
X! 
X! news.o:		news.c config.h global.h data.h news.h
X! 
X! nn.o:		nn.c config.h global.h data.h menu.h term.h keymap.h
X! 
X! nnmail.o:	nnmail.c config.h global.h data.h options.h
X! 
X! nntp.o:		nntp.c config.h global.h data.h nntp.h
X! 
X! options.o:	options.c config.h global.h data.h options.h
X! 
X! pack_date.o:	pack_date.c config.h global.h data.h
X! 
X! pack_name.o:	pack_name.c config.h global.h data.h
X! 
X! pack_subject.o:	pack_subject.c config.h global.h data.h 
X! 
X! rc.o:		rc.c config.h global.h data.h term.h
X! 
X! reroute.o:	reroute.c config.h global.h data.h
X! 
X! save.o:		save.c config.h global.h data.h term.h news.h keymap.h
X! 
X! selection.o:	selection.c config.h global.h data.h articles.h
X! 
X! sequence.o:	sequence.c config.h global.h data.h
X! 
X! variable.o:	variable.c config.h global.h data.h 
X! 
X! term.o:		term.c config.h global.h data.h term.h keymap.h
X  
X  * link debugging version
X  
X--- 182,240 ----
X  cvt-help:	cvt-help.c
X  	cc -o cvt-help cvt-help.c
X  
X! active.o:	active.c config.h global.h vararg.h data.h
X! admin.o:	admin.c config.h global.h vararg.h data.h db.h term.h
X! answer.o:	answer.c config.h global.h vararg.h data.h news.h term.h \
X! 		keymap.h
X! articles.o:	articles.c config.h global.h vararg.h data.h db.h articles.h \
X! 		match.h
X! collect.o:	collect.c config.h global.h vararg.h data.h db.h news.h
X! cvt-help.o:	cvt-help.c
X! date_regexp.o:	date_regexp.c config.h global.h vararg.h data.h
X! db.o:		db.c config.h global.h vararg.h data.h db.h
X! decode.o:	decode.c config.h global.h vararg.h data.h
X! digest.o:	digest.c config.h global.h vararg.h data.h news.h match.h  \
X! 		debug.h
X! execute.o:	execute.c config.h global.h vararg.h data.h term.h
X! expire.o:	expire.c config.h global.h vararg.h data.h db.h
X! folder.o:	folder.c config.h global.h vararg.h data.h articles.h news.h \
X! 		term.h menu.h
X! global.o:	global.c config.h global.h vararg.h data.h
X! group.o:	group.c config.h global.h vararg.h data.h articles.h db.h \
X! 		term.h menu.h keymap.h regexp.h
X! init.o:		init.c config.h global.h vararg.h data.h articles.h term.h \
X! 		keymap.h menu.h
X! keymap.o:	keymap.c config.h global.h vararg.h data.h keymap.h term.h
X! kill.o:		kill.c config.h global.h vararg.h data.h term.h regexp.h
X  log_entry.o:	log_entry.c
X! macro.o:	macro.c config.h global.h vararg.h data.h keymap.h term.h
X! master.o:	master.c config.h global.h vararg.h data.h db.h options.h
X! match.o:	match.c
X! menu.o:		menu.c config.h global.h vararg.h data.h articles.h term.h \
X! 		keymap.h menu.h regexp.h
X! more.o:		more.c config.h global.h vararg.h data.h news.h term.h \
X! 		menu.h keymap.h regexp.h
X! news.o:		news.c config.h global.h vararg.h data.h news.h
X! nn.o:		nn.c config.h global.h vararg.h data.h menu.h term.h \
X! 		keymap.h options.h
X! nnmail.o:	nnmail.c config.h global.h vararg.h data.h options.h
X! nntp.o:		nntp.c config.h global.h vararg.h data.h nntp.h
X! options.o:	options.c config.h global.h vararg.h data.h options.h
X! pack_date.o:	pack_date.c config.h global.h vararg.h data.h
X! pack_name.o:	pack_name.c config.h global.h vararg.h data.h
X! pack_subject.o:	pack_subject.c config.h global.h vararg.h data.h
X! rc.o:		rc.c config.h global.h vararg.h data.h term.h debug.h
X! regexp.o:	regexp.c config.h global.h vararg.h data.h regexp.h
X! reroute.o:	reroute.c config.h global.h vararg.h data.h
X! save.o:		save.c config.h global.h vararg.h data.h term.h keymap.h \
X! 		news.h
X! selection.o:	selection.c config.h global.h vararg.h data.h term.h\
X! 		 articles.h
X! sequence.o:	sequence.c config.h global.h vararg.h data.h debug.h
X! term.o:		term.c config.h global.h vararg.h data.h term.h keymap.h
X! unshar.o:	unshar.c config.h global.h vararg.h data.h
X! update.o:	update.c patchlevel.h update.h
X! variable.o:	variable.c config.h global.h vararg.h data.h
X  
X  * link debugging version
X  
X
NN_IS_BETTER
echo "File PATCH.4 is complete"
chmod 0644 PATCH.4 || echo "restore of PATCH.4 fails"
set `wc -c PATCH.4`;Sum=$1
if test "$Sum" != "114443"
then echo original size 114443, current size $Sum;fi
echo "x - extracting s-aux1-1.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-aux1-1.h &&
X/*
X *	This version is for A/UX 1.1 (approx. System V Release 3.1)
X */
X
X
X/*
X *	Include header files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <sys/stat.h>
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X#define	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X#define	USE_TERMINFO			/* */
X
X/*
X *	Specify the library containing the termcap/terminfo access routines.
X *	Notice:  nn does not use curses.
X *	Notice:  You must also specify whether termcap or terminfo is
X *		 used when you edit config.h (see below).
X */
X
X#define	TERMLIB -lcurses
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X#define HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X#define	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define if signals must be set again after they are caught
X */
X
X#define	RESET_SIGNAL_WHEN_CAUGHT	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* System V */
X
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X#define HAVE_JOBCONTROL			/* */
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X#define	HAVE_DIRECTORY			/* */
X
X#include <sys/dir.h>			/* A/UX */
X
Xtypedef struct direct Direntry;		/* System V */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X#define	HAVE_MKDIR			/* */
X
X/*
X *	Define HAVE_GETHOSTNAME if your system provides a BSD like 
X *	gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X *	As a final resort, define HOSTNAME to the name of your system.
X */
X
X#define	HAVE_UNAME			/* System V */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X#define	DETATCH_TERMINAL setpgrp();	/* System V */
X
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/sh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X#define	MAILX		"/usr/bin/mailx"	/* SV */
X
X/*
X *	Specify the default pager & options.
X */
X
X#define	PAGER		"pg -n -s"
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"lp -s"
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	128
X
NN_IS_BETTER
chmod 0644 s-aux1-1.h || echo "restore of s-aux1-1.h fails"
set `wc -c s-aux1-1.h`;Sum=$1
if test "$Sum" != "2625"
then echo original size 2625, current size $Sum;fi
echo "x - extracting s-dynix3-0.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-dynix3-0.h &&
X/*
X *	This version is for Dynix 3.0 systems
X */
X
X
X/*
X *	Include haeder files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <sys/stat.h>
X
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X#undef	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X#undef	USE_TERMINFO			/* */
X
X/*
X *	Specify the library (or libraries) containing the termcap/terminfo
X *	routines.
X *
X *	Notice:  nn only uses the low-level terminal access routines
X *	(i.e. it does not use curses).
X */
X
X#define TERMLIB	-ltermlib
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X#include <string.h>
X
X#undef HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X#undef	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* could use setitimer ... */
X
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X#define HAVE_JOBCONTROL			/* */
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X#define	HAVE_DIRECTORY			/* */
X
X#include <sys/dir.h>			/* BSD */
X
Xtypedef struct direct Direntry;		/* BSD */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X#define	HAVE_MKDIR			/* */
X
X/*
X *	Define if your system provides a BSD like gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X */
X
X#define	HAVE_GETHOSTNAME	/* BSD systems */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include system files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X#include <sys/file.h>	/* for O_RDONLY */
X#include <sys/ioctl.h>	/* for TIOCNOTTY */
X
X#define	DETATCH_TERMINAL \
X    { int t = open("/dev/tty", O_RDONLY); \
X	  if (t >= 0) ioctl(t, TIOCNOTTY, (int *)0), close(t); }
X
X      
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/sh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X#define	MAILX	"/usr/ucb/Mail"		/* BSD */
X
X
X/*
X *	Specify the default pager & options.
X */
X
X#define	PAGER		"more"
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"imprint"
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	256
X
X/*
X * Extra libraries needed on the Symmetry
X */
X
X#define EXTRA_LIB
NN_IS_BETTER
chmod 0644 s-dynix3-0.h || echo "restore of s-dynix3-0.h fails"
set `wc -c s-dynix3-0.h`;Sum=$1
if test "$Sum" != "2651"
then echo original size 2651, current size $Sum;fi
echo "x - extracting s-fortune.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-fortune.h &&
X*******************************************************************
X/*
X *	This file is for Fortune 32:16 systems.
X *	Use with m-m680x0.h file, but requires STRCSPN in config.h
X *	The Fortune may have problems with the nested #ifdef:s in
X *	regexp.c (STRCSPN + __STDC__).  If so remove the __STDC__ ifdef.
X *
X *	From thewev!root, July 9, 1989.
X */
X
X
X/*
X *	Include header files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <stat.h>
X
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X/* #define	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X/* #define	USE_TERMINFO			/* */
X
X/*
X *	Specify the library (or libraries) containing the termcap/terminfo
X *	routines.
X *
X *	Notice:  nn only uses the low-level terminal access routines
X *	(i.e. it does not use curses).
X */
X
X#define TERMLIB	-ltermlib
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X/* #define HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X/* #define	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define if signals must be set again after they are caught
X */
X
X#define	RESET_SIGNAL_WHEN_CAUGHT	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* System V */
X/*#define MICRO_ALARM()	ualarm(100000,0)	/* BSD 4.3 */
X 
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X/* #define HAVE_JOBCONTROL			/* */
X
X
X/*
X *	Define if your system has a 4.3BSD like syslog library.
X */
X
X#undef HAVE_SYSLOG
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X/* #define	HAVE_DIRECTORY			/* */
X
X/* #include <dirent.h>			/* System V */
X#include <sys/dir.h>				/* BSD */
X
X/* typedef struct dirent Direntry;		/* System V */
Xtypedef struct direct Direntry;		/* BSD */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X#define	HAVE_MKDIR			/* */
X
X
X/*
X *	Define HAVE_GETHOSTNAME if your system provides a BSD like 
X *	gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X *	As a final resort, define HOSTNAME to the name of your system 
X *	(in config.h).
X */
X
X/* #define	HAVE_GETHOSTNAME	/* BSD systems */
X
X/* #define	HAVE_UNAME			/* System V */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include system files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X/* #include "...." */
X
X#define	DETATCH_TERMINAL /* setpgrp(); */
X
X
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/sh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X#define	MAILX		"/bin/mail"	/* FOR:PRO */
X/* #define	MAILX	"/usr/ucb/Mail"		/* BSD */
X
X
X/*
X *	Specify the default pager & options.
X */
X
X#define	PAGER		"/usr/bin/less -s"
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"/usr/bin/lpr -s"
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	128
X
X
X/*
X *	Define standard compiler flags here:
X */
X
X#define COMPILER_FLAGS -O
X
X/*
X *	If your system requires other libraries when linking nn
X *	specify them here:
X */
X
X#define EXTRA_LIB
NN_IS_BETTER
chmod 0644 s-fortune.h || echo "restore of s-fortune.h fails"
set `wc -c s-fortune.h`;Sum=$1
if test "$Sum" != "3450"
then echo original size 3450, current size $Sum;fi
echo "x - extracting s-sgi4D.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-sgi4D.h &&
X/*
X *	This file is for a Silicon Graphics 4D series machines
X *  Running IRIX 3.1 or 3.2.  (HAVE_JOBCTRL should only be
X *	defined if you have 3.2)
X */
X
X
X/*
X *	Include header files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <sys/stat.h>
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X#define	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X#define	USE_TERMINFO			/* */
X
X/*
X *	Specify the library containing the termcap/terminfo access routines.
X *	Notice:  nn does not use curses.
X *	Notice:  You must also specify whether termcap or terminfo is
X *		 used when you edit config.h (see below).
X */
X
X#define	TERMLIB -lcurses
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X#define HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X#define	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define if signals must be set again after they are caught
X */
X
X#define	RESET_SIGNAL_WHEN_CAUGHT	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* System V */
X
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X#define HAVE_JOBCONTROL			/* */
X
X/*
X *	Define if your system has a 4.3BSD like syslog library.
X */
X
X#define HAVE_SYSLOG
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X#define	HAVE_DIRECTORY			/* */
X
X#include <dirent.h>			/* System V */
X
Xtypedef struct dirent Direntry;		/* System V */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X#define	HAVE_MKDIR			/* */
X
X/*
X *	Define HAVE_GETHOSTNAME if your system provides a BSD like 
X *	gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X *	As a final resort, define HOSTNAME to the name of your system.
X */
X
X#define	HAVE_GETHOSTNAME			/* System V */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X#define	DETATCH_TERMINAL setpgrp();	/* System V */
X
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/sh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X#define	MAILX		"/usr/bsd/Mail"
X
X/*
X *	Specify the default pager & options.
X */
X
X#define	PAGER		"more"
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"lp -s"
X
X/*
X *	Define standard compiler flags here:
X */
X
X#define COMPILER_FLAGS -O -I/usr/include/bsd
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	1024	/* really should be from limits.h */
X
X/*
X *	If your system requires other libraries when linking nn
X *	specify them here:  (use shared C library for reduced
X *	size and portability across releases).
X */
X
X#define EXTRA_LIB -lbsd -lc_s
NN_IS_BETTER
chmod 0644 s-sgi4D.h || echo "restore of s-sgi4D.h fails"
set `wc -c s-sgi4D.h`;Sum=$1
if test "$Sum" != "3118"
then echo original size 3118, current size $Sum;fi
echo "x - extracting s-uport2-2.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-uport2-2.h &&
X/*
X *	This version is for Microport UNIX V.2 machines.
X */
X
X
X/*
X *	Include header files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <sys/stat.h>
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X#define	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X#define	USE_TERMINFO			/* */
X
X/*
X *	Specify the library containing the termcap/terminfo access routines.
X *	Notice:  nn does not use curses.
X *	Notice:  You must also specify whether termcap or terminfo is
X *		 used when you edit config.h (see below).
X */
X
X#define	TERMLIB -lcurses
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X#define HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X/* #define	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define if signals must be set again after they are caught
X */
X
X#define	RESET_SIGNAL_WHEN_CAUGHT	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* System V */
X
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X/* #define HAVE_JOBCONTROL			/* */
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X/* #define	HAVE_DIRECTORY			/* */
X
X/* #include <dirent.h>			/* System V */
X
X/* typedef struct dirent Direntry;		/* System V */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X/* #define	HAVE_MKDIR			/* */
X
X/*
X *	Define HAVE_GETHOSTNAME if your system provides a BSD like 
X *	gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X *	As a final resort, define HOSTNAME to the name of your system.
X */
X
X#define	HAVE_UNAME			/* System V */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X#define	DETATCH_TERMINAL setpgrp();	/* System V */
X
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/ksh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X#define	MAILX		"/usr/bin/mailx"	/* SV */
X
X/*
X *	Specify the default pager & options.
X */
X
X#define	PAGER		"pg -n -s"
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"lp -s"
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	128
X
X/*
X *	Use P.D. malloc library for the 286.
X *	This may not be needed if you don't have it...
X */
X
X#define EXTRA_LIB	 -lm286
NN_IS_BETTER
chmod 0644 s-uport2-2.h || echo "restore of s-uport2-2.h fails"
set `wc -c s-uport2-2.h`;Sum=$1
if test "$Sum" != "2760"
then echo original size 2760, current size $Sum;fi
echo "x - extracting s-xenix386.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > s-xenix386.h &&
X/*
X *  Thu Jun 29 18:55:47 1989 - Chip Rosenthal <chip at vector.Dallas.TX.US>
X *	Generated SCO XENIX/386 version from "s-template.h".  XENIX has
X *	both "termcap" and "terminfo".  This version reflects the local
X *	preference for "termcap".
X */
X
X
X/*
X *	Include header files containing the following definitions:
X *
X * 		off_t, time_t, struct stat
X */
X
X#include <sys/types.h>
X#include <sys/stat.h>
X
X
X/*
X *	Define if your system has system V like ioctls
X */
X
X#define	HAVE_TERMIO			/* */
X
X/*
X *	Define to use terminfo database.
X *	Otherwise, termcap is used
X */
X
X/* #define	USE_TERMINFO			/* */
X
X/*
X *	Specify the library (or libraries) containing the termcap/terminfo
X *	routines.
X *
X *	Notice:  nn only uses the low-level terminal access routines
X *	(i.e. it does not use curses).
X */
X
X#define TERMLIB	-ltermlib
X
X/*
X *	Define HAVE_STRCHR if strchr() and strrchr() are available
X */
X
X#define HAVE_STRCHR			/* */
X
X/*
X *	Define if a signal handler has type void (see signal.h)
X */
X
X/* #define	SIGNAL_HANDLERS_ARE_VOID	/* */
X
X/*
X *	Define if signals must be set again after they are caught
X */
X
X#define	RESET_SIGNAL_WHEN_CAUGHT	/* */
X
X/*
X *	Define MICRO_ALARM to timeout in 0.1 seconds if possible
X */
X
X#define MICRO_ALARM()	alarm(1)	/* System V */
X 
X/*
X *	Define if your system has BSD like job control (SIGTSTP works)
X */
X
X/* #define HAVE_JOBCONTROL			/* */
X
X
X/*
X *	Define if your system has a 4.3BSD like syslog library.
X */
X
X#undef HAVE_SYSLOG
X
X/*
X *	Define if your system provides the "directory(3X)" access routines
X *
X *	If true, include the header file(s) required by the package below
X *	(remember that <sys/types.h> or equivalent is included above)
X *	Also typedef Direntry to the proper struct type.
X */
X
X#define	HAVE_DIRECTORY			/* */
X
X#include <sys/ndir.h>			/* SCO XENIX */
X
Xtypedef struct direct Direntry;		/* BSD and SCO XENIX */
X
X/*
X *	Define if your system has a mkdir() library routine
X */
X
X/* #define	HAVE_MKDIR			/* */
X
X
X/*
X *	Define HAVE_GETHOSTNAME if your system provides a BSD like 
X *	gethostname routine.
X *	Otherwise, define HAVE_UNAME if uname() is avaiable.
X *	As a final resort, define HOSTNAME to the name of your system 
X *	(in config.h).
X */
X
X#define	HAVE_UNAME			/* System V */
X
X/*
X *	Define DETATCH_TERMINAL to be a command sequence which 
X *	will detatch a process from the control terminal
X *	Also include system files needed to perform this HERE.
X *	If not possible, just define it (empty)
X */
X
X#define	DETATCH_TERMINAL /* setpgrp(); */
X
X
X/* 
X *	Specify where the Bourne Shell is.
X */
X
X#define SHELL		"/bin/sh"
X
X/*
X *	Specify the default mailer to be invoked by nnmail
X */
X
X/* #define	MAILX		"/usr/bin/mailx"	/* SV */
X/* #define	MAILX	"/usr/ucb/Mail"		/* BSD */
X#define		MAILX	"/usr/bin/mail"		/* SCO XENIX */
X
X
X/*
X *	Specify the default pager & options.
X */
X
X/* #define	PAGER		"/usr/bin/pg -n -s"	/* */
X#define		PAGER		"/usr/bin/more"	/* SCO XENIX */
X
X/*
X *	Specify the default print command and options.
X */
X
X#define	PRINTER		"/usr/bin/lp -s"
X
X
X/*
X *	Define the maximum length of any pathname that may occur
X */
X
X#define	FILENAME 	128
X
X
X/*
X *	Define standard compiler flags here:
X */
X
X#define COMPILER_FLAGS	-O
X
X/*
X *	If your system requires other libraries when linking nn
X *	specify them here:
X */
X
X#define EXTRA_LIB	-lx
NN_IS_BETTER
chmod 0644 s-xenix386.h || echo "restore of s-xenix386.h fails"
set `wc -c s-xenix386.h`;Sum=$1
if test "$Sum" != "3257"
then echo original size 3257, current size $Sum;fi
echo "x - extracting m-convex.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > m-convex.h &&
X/************** Machine (and compiler) dependent definitions. **************
X *
X *	Define appropriate types for the following ranges of integer
X *	variables.  These are processor & compiler dependent, but the
X *	distributed definitions will probably work on most systems.
X */
X
X
X
X/*      MACHINE TYPE	DEFINED TYPE		VALUE RANGE	*/
X
Xtypedef unsigned char	int8;		/*        0 ..     255 */
Xtypedef short		int16;		/*  -10,000 ..  10,000 */
Xtypedef long		int32;		/* -100,000 .. 100,000 */
Xtypedef unsigned long	uint32;		/* 	  0 ..  2^31-1 */
X
X
X/*
X * 	Define NO_VARARGS if the varargs feature is not available
X *
X *	Also define NO_VARARGS if the vprintf/vsprintf routines are not
X *	available (however, this will only by safe on some machines, like
X *	the VAX).
X *	
X */
X
X#define NO_VARARGS
X
X/*
X *	Define STRCSPN if the strcspn() function is not available.
X */
X
X#define STRCSPN 	/* */
X
X/*
X *	Define NO_SIGINTERRUPT on BSD based systems which don't have
X *	a siginterrupt() function, but provides an SV_INTERRUPT flag
X *	in <signal.h>.
X */
X
X#define NO_SIGINTERRUPT	/* */
X
X
X/*
X *	Define NETWORK_BYTE_ORDER if the machine's int32's are
X *	already in network byte order, i.e. m68k based.
X */
X
X#define NETWORK_BYTE_ORDER	/* */
NN_IS_BETTER
chmod 0644 m-convex.h || echo "restore of m-convex.h fails"
set `wc -c m-convex.h`;Sum=$1
if test "$Sum" != "1213"
then echo original size 1213, current size $Sum;fi
echo "x - extracting m-i80286.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > m-i80286.h &&
X/************** Machine (and compiler) dependent definitions. **************
X *
X *	This is for the Intel 80286 processor.
X */
X
X
X
X/*      MACHINE TYPE	DEFINED TYPE		VALUE RANGE	*/
X
Xtypedef unsigned char	int8;		/*        0 ..     255 */
Xtypedef short		int16;		/*  -10,000 ..  10,000 */
Xtypedef long		int32;		/* -100,000 .. 100,000 */
Xtypedef unsigned long	uint32;		/* 	  0 ..  2^31-1 */
X
X
X/*
X * 	Define NO_VARARGS if the varargs feature is not available
X *
X *	Also define NO_VARARGS if the vprintf/vsprintf routines are not
X *	available (however, this will only by safe on some machines, like
X *	the VAX).
X *	
X */
X
X/* #define NO_VARARGS */
X
X
X
X#ifdef NETWORK_DATABASE
X
X/*
X *	Define NETWORK_BYTE_ORDER if the machine's int32's are
X *	already in network byte order, i.e. m68k based.
X */
X
X/* #define NETWORK_BYTE_ORDER	/* THEY ARE NOT */
X
X/*
X * Include appropriate files or define macroes or functions (include them 
X * in data.c) to convert longs and shorts to and from network byte order.
X *
X * Needs byte swapping here!
X */
X
XYOU LOSE -- HOW IS THIS DONE ON THE 286?
X
X/*
X * define something appropriate below
X */
X
X#define htonl(l)	...	/* host long to network long */
X#define ntohl(l)	...	/* network long to host long */
X
X#endif	/* NETWORK DATABASE */
NN_IS_BETTER
chmod 0644 m-i80286.h || echo "restore of m-i80286.h fails"
set `wc -c m-i80286.h`;Sum=$1
if test "$Sum" != "1247"
then echo original size 1247, current size $Sum;fi
echo "x - extracting m-sgi4D.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > m-sgi4D.h &&
X/************** Machine (and compiler) dependent definitions. **************
X *
X *	This file is for a Silicon Graphics 4D series machines
X */
X
X/*      MACHINE TYPE	DEFINED TYPE		VALUE RANGE	*/
X
Xtypedef unsigned char	int8;		/*        0 ..     255 */
Xtypedef short		int16;		/*  -10,000 ..  10,000 */
Xtypedef long		int32;		/* -100,000 .. 100,000 */
Xtypedef unsigned long	uint32;		/* 	  0 ..  2^31-1 */
X
X#undef NO_VARARGS
X
X#ifdef NETWORK_DATABASE
X#undef NETWORK_BYTE_ORDER
X#include <netinet/in.h>
X#endif	/* NETWORK DATABASE */
NN_IS_BETTER
chmod 0644 m-sgi4D.h || echo "restore of m-sgi4D.h fails"
set `wc -c m-sgi4D.h`;Sum=$1
if test "$Sum" != "523"
then echo original size 523, current size $Sum;fi
echo "x - extracting m-symmetry.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > m-symmetry.h &&
X/************** Machine (and compiler) dependent definitions. **************
X *
X *	This file is for the Symmetry.
X *	Use with s-dynix3-0.h.
X */
X
X
X
X/*      MACHINE TYPE	DEFINED TYPE		VALUE RANGE	*/
X
Xtypedef unsigned char	int8;		/*        0 ..     255 */
Xtypedef short		int16;		/*  -10,000 ..  10,000 */
Xtypedef long		int32;		/* -100,000 .. 100,000 */
Xtypedef unsigned long	uint32;		/* 	  0 ..  2^31-1 */
X
X/*
X * The Symmetry C compiler lacks vprintf/vsprintf and strcspn
X */
X
X#define NO_VARARGS
X#define STRCSPN
X
X/*
X *	Not in network byte order on the 386
X */
X
X#undef NETWORK_BYTE_ORDER	/* */
X#if defined(NNTP) || defined(NETWORK_DATABASE)
X#include <netinet/in.h>
X#endif
NN_IS_BETTER
chmod 0644 m-symmetry.h || echo "restore of m-symmetry.h fails"
set `wc -c m-symmetry.h`;Sum=$1
if test "$Sum" != "668"
then echo original size 668, current size $Sum;fi
echo "x - extracting m-xenix386.h (Text)"
sed 's/^X//' << 'NN_IS_BETTER' > m-xenix386.h &&
X/************** Machine (and compiler) dependent definitions. **************
X *
X *	This file is for XENIX 386.
X */
X
X
X
X/*      MACHINE TYPE	DEFINED TYPE		VALUE RANGE	*/
X
Xtypedef unsigned char	int8;		/*        0 ..     255 */
Xtypedef short		int16;		/*  -10,000 ..  10,000 */
Xtypedef long		int32;		/* -100,000 .. 100,000 */
Xtypedef unsigned long	uint32;		/* 	  0 ..  2^31-1 */
X
X
X/*
X * 	Define NO_VARARGS if the varargs feature is not available
X *
X *	Also define NO_VARARGS if the vprintf/vsprintf routines are not
X *	available (however, this will only by safe on some machines, like
X *	the VAX).
X *	
X */
X
X/* #define NO_VARARGS */
X
X/*
X *	Define STRCSPN if the strcspn() function is not available.
X */
X
X/* #define STRCSPN 	/* */
X
X/*
X *	Define NO_SIGINTERRUPT on BSD based systems which don't have
X *	a siginterrupt() function, but provides an SV_INTERRUPT flag
X *	in <signal.h>.
X */
X
X/* #define NO_SIGINTERRUPT	/* */
X
X
X#ifdef NETWORK_DATABASE
X
X/*
X *	Define NETWORK_BYTE_ORDER if the machine's int32's are
X *	already in network byte order, i.e. m68k based.
X */
X
X#undef NETWORK_BYTE_ORDER	/* */
X
XYOU LOSE -- I DON'T KNOW HOW TO DO THIS ON XENIX 386
X
X/*
X *	OTHERWISE provide the functions/macros ntohl/htonl to
X *	convert longs from and to network byte order
X */
X
X/*
X * Include appropriate files or define macroes or functions (include them 
X * in data.c) to convert longs and shorts to and from network byte order.
X */
X
X/*
X * This will work on most BSD based systems...
X */
X
X#include <netinet/in.h>
X
X/*
X * Otherwise, define something appropriate below
X */
X
X#define htonl(l)	...	/* host long to network long */
X#define ntohl(l)	...	/* network long to host long */
X
X#endif	/* NETWORK DATABASE */
NN_IS_BETTER
chmod 0644 m-xenix386.h || echo "restore of m-xenix386.h fails"
set `wc -c m-xenix386.h`;Sum=$1
if test "$Sum" != "1687"
then echo original size 1687, current size $Sum;fi
rm -f s2_seq_.tmp
echo "You have unpacked the last part"
exit 0

-- 
Kim F. Storm        storm at texas.dk        Tel +45 429 174 00
Texas Instruments, Marielundvej 46E, DK-2730 Herlev, Denmark
	  No news is good news, but nn is better!



More information about the Comp.sources.bugs mailing list