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