Patch to let Tass use re_comp() & re_exec() on BSD systems

Rich Skrenta skrenta at blekko.commodore.com
Sat Feb 16 03:08:11 AEST 1991


This patch will let Tass use re_comp() and re_exec() instead of
regex() and regcmp() if BSD is defined.

*** group.c-	Sun Feb 10 05:56:34 1991
--- group.c	Fri Feb 15 11:01:13 1991
***************
*** 528,537 ****
  {
  	char buf[LEN+1];
  	int i;
  	extern char *regcmp();
  	extern char *regex();
! 	char *re;
! 	char *prompt;
  
  	clear_message();
  
--- 528,541 ----
  {
  	char buf[LEN+1];
  	int i;
+ 	char *prompt;
+ #ifdef BSD
+ 	extern char *re_comp();
+ #else
+ 	char *re;
  	extern char *regcmp();
  	extern char *regex();
! #endif
  
  	clear_message();
  
***************
*** 554,563 ****
--- 558,574 ----
  
  	glob_name(subject_search_string, buf);
  
+ #ifdef BSD
+ 	if (re_comp(buf) != NULL) {
+ 		info_message("Bad search pattern");
+ 		return;
+ 	}
+ #else
  	if ((re = regcmp(buf, NULL)) == NULL) {
  		info_message("Bad search pattern");
  		return;
  	}
+ #endif
  
  	do {
  		if (forward)
***************
*** 570,576 ****
--- 581,591 ----
  		if (i < 0)
  			i = top_base - 1;
  
+ #ifdef BSD
+ 		if (re_exec(arts[ base[i] ].subject) == 1) {
+ #else
  		if (regex(re, arts[ base[i] ].subject) != NULL) {
+ #endif
  			if (i >= first_subj_on_screen
  			&&  i < last_subj_on_screen) {
  				erase_subject_arrow();
***************
*** 580,590 ****
--- 595,612 ----
  				index_point = i;
  				show_group_page(group);
  			}
+ #ifndef BSD
+ 			free(re);
+ #endif
  			return;
  		}
  	} while (i != index_point);
  
  	info_message("No match");
+ 
+ #ifndef BSD
+ 	free(re);
+ #endif
  }
  
  
*** select.c-	Fri Feb  8 16:29:27 1991
--- select.c	Fri Feb 15 11:01:46 1991
***************
*** 421,430 ****
  {
  	char buf[LEN+1];
  	int i;
  	extern char *regcmp();
  	extern char *regex();
  	char *re;
! 	char *prompt;
  
  	clear_message();
  
--- 421,434 ----
  {
  	char buf[LEN+1];
  	int i;
+ 	char *prompt;
+ #ifdef BSD
+ 	extern char *re_comp();
+ #else
  	extern char *regcmp();
  	extern char *regex();
  	char *re;
! #endif
  
  	clear_message();
  
***************
*** 447,456 ****
--- 451,467 ----
  
  	glob_name(group_search_string, buf);
  
+ #ifdef BSD
+ 	if (re_comp(buf) != NULL) {
+ 		info_message("Bad search pattern");
+ 		return;
+ 	}
+ #else
  	if ((re = regcmp(buf, NULL)) == NULL) {
  		info_message("Bad search pattern");
  		return;
  	}
+ #endif
  
  	do {
  		if (forward)
***************
*** 463,469 ****
--- 474,484 ----
  		if (i < 0)
  			i = local_top - 1;
  
+ #ifdef BSD
+ 		if (re_exec(active[my_group[i]].name) == 1) {
+ #else
  		if (regex(re, active[my_group[i]].name) != NULL) {
+ #endif
  			if (i >= first_group_on_screen
  			&&  i < last_group_on_screen) {
  				erase_group_arrow();
***************
*** 473,483 ****
--- 488,505 ----
  				cur_groupnum = i;
  				group_selection_page();
  			}
+ #ifndef BSD
+ 			free(re);
+ #endif
  			return;
  		}
  	} while (i != cur_groupnum);
  
  	info_message("No match");
+ 
+ #ifndef BSD
+ 	free(re);
+ #endif
  }
  
  
-- 
skrenta at blekko.commodore.com



More information about the Alt.sources mailing list