skrenta@blekko.commodore.com (Rich Skrenta) (02/16/91)
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@blekko.commodore.com