From 5dcf391497badc4b7432f8f1f04dc22b3a972095 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Fri, 16 Mar 2001 17:40:38 +0000 Subject: [PATCH] - Inserting links without any delimiters is now possible --- ext/hyperwave/hg_comm.c | 23 ++++++++++++++++++++++- ext/hyperwave/hg_comm.h | 1 + 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ext/hyperwave/hg_comm.c b/ext/hyperwave/hg_comm.c index 9fd22beaaa4..efff670ef5d 100644 --- a/ext/hyperwave/hg_comm.c +++ b/ext/hyperwave/hg_comm.c @@ -523,6 +523,19 @@ DLIST *fnCreateAnchorList(hw_objectID objID, char **anchors, char **docofanchorr if(strncmp(str, "background", 10) == 0) cur_ptr->linktype=HW_BACKGROUND_LINK; else + if(strncmp(str, "intagnodel", 10) == 0) { /* New type introduced by Uwe Steinmann 16.03.2001 */ + cur_ptr->linktype=HW_INTAGNODEL_LINK; + cur_ptr->tagattr = NULL; + if(NULL != (str = strstr(object, "TagAttr="))) { + str += 8; + str1 = str; + while((*str1 != '\n') && (*str1 != '\0')) + str1++; + cur_ptr->tagattr = emalloc(str1 - str + 1); + memcpy(cur_ptr->tagattr, str, str1 - str); + cur_ptr->tagattr[str1 - str] = '\0'; + } + } else if(strncmp(str, "intag", 5) == 0) { cur_ptr->linktype=HW_INTAG_LINK; cur_ptr->tagattr = NULL; @@ -693,6 +706,11 @@ char *fnInsAnchorsIntoText(char *text, DLIST *pAnchorList, char **bodytag, char case HW_INTAG_LINK: snprintf(istr, BUFFERLEN, " %s='%s'", cur_ptr->tagattr, cur_ptr->link); offset -= 4; /* because there is no closing tag */ +/* laststart = cur_ptr->start; */ + break; + case HW_INTAGNODEL_LINK: + snprintf(istr, BUFFERLEN, "%s", cur_ptr->link); + offset -= 4; /* because there is no closing tag */ /* laststart = cur_ptr->start; */ break; case HW_APPLET_LINK: @@ -727,7 +745,10 @@ char *fnInsAnchorsIntoText(char *text, DLIST *pAnchorList, char **bodytag, char else snprintf(istr, BUFFERLEN, " %s='%s/%s'", cur_ptr->tagattr, scriptname[HW_INTAG_LINK], cur_ptr->destdocname); offset -= 4; /* because there is no closing tag */ -/* laststart = cur_ptr->start; */ + break; + case HW_INTAGNODEL_LINK: + snprintf(istr, BUFFERLEN, "%s", cur_ptr->destdocname); + offset -= 4; /* because there is no closing tag */ break; case HW_APPLET_LINK: if(cur_ptr->codebase) diff --git a/ext/hyperwave/hg_comm.h b/ext/hyperwave/hg_comm.h index 56b3a419ef0..a1aee74f858 100644 --- a/ext/hyperwave/hg_comm.h +++ b/ext/hyperwave/hg_comm.h @@ -85,6 +85,7 @@ #define HW_BACKGROUND_LINK 2 #define HW_INTAG_LINK 3 #define HW_APPLET_LINK 4 +#define HW_INTAGNODEL_LINK 5 #define COPY 0 #define MOVE 1