From bb674771067a76956fcc51953080e48a1e9a34a2 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Fri, 3 Aug 2007 07:24:36 +0000 Subject: [PATCH] Do not substitute '|' if not inside a table SVN revision: 1903 --- src/elogd.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/elogd.c b/src/elogd.c index 6aa54697..ff73a4e1 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -6162,6 +6162,29 @@ void rsputs_elcode(LOGBOOK * lbs, BOOL email_notify, const char *str) strcpy(return_buffer + j, subst); j += strlen(subst); i += strlen(pattern_list[l].pattern) - 1; // 1 gets added in for loop... + + } else if (strncmp(pattern_list[l].pattern, "|", 1) == 0) { + + if (inside_table) { + strcpy(link, pattern_list[l].subst); + if (strstr(link, "%s")) { + strcpy(tmp, link); + if (email_notify) + compose_base_url(lbs, base_url, sizeof(base_url)); + else + base_url[0] = 0; + sprintf(link, tmp, base_url); + } + + strcpy(return_buffer + j, link); + j += strlen(link); + i += strlen(pattern_list[l].pattern) - 1; // 1 gets added in for loop... + } else { + strcpy(return_buffer + j, pattern_list[l].pattern); + j += strlen(pattern_list[l].pattern); + i += strlen(pattern_list[l].pattern) - 1; // 1 gets added in for loop... + } + } else { /* simple substitution */