cvs: php4 /ext/hyperwave hg_comm.c hw.c

From: Date: Wed, 13 Dec 2000 17:27:12 +0000
Subject: cvs: php4 /ext/hyperwave hg_comm.c hw.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-3131@lists.php.net to get a copy of this message
steinm Wed Dec 13 09:27:12 2000 EDT Modified files: /php4/ext/hyperwave hg_comm.c hw.c Log: - Bodytag is insertet by fnInsAnchors() - several small bugs which might cause a segm fault Index: php4/ext/hyperwave/hg_comm.c diff -u php4/ext/hyperwave/hg_comm.c:1.35 php4/ext/hyperwave/hg_comm.c:1.36 --- php4/ext/hyperwave/hg_comm.c:1.35 Tue Dec 12 04:28:25 2000 +++ php4/ext/hyperwave/hg_comm.c Wed Dec 13 09:27:12 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: hg_comm.c,v 1.35 2000/12/12 12:28:25 steinm Exp $ */ +/* $Id: hg_comm.c,v 1.36 2000/12/13 17:27:12 steinm Exp $ */ /* #define HW_DEBUG */ @@ -465,16 +465,16 @@ } if(!cur_ptr->destdocname) { - cur_ptr->link = NULL; - if(NULL != (str = strstr(object, "Hint=URL:"))) { - str += 9; - if(sscanf(str, "%s\n", link)) - cur_ptr->link = estrdup(link); - } else if(NULL != (str = strstr(object, "Hint="))) { - str += 5; - if(sscanf(str, "%s\n", link)) - cur_ptr->link = estrdup(link); - } + cur_ptr->link = NULL; + if(NULL != (str = strstr(object, "Hint=URL:"))) { + str += 9; + if(sscanf(str, "%s\n", link)) + cur_ptr->link = estrdup(link); + } else if(NULL != (str = strstr(object, "Hint="))) { + str += 5; + if(sscanf(str, "%s\n", link)) + cur_ptr->link = estrdup(link); + } } cur_ptr->fragment = NULL; @@ -687,7 +687,7 @@ /* The link is only set if the Link points to an external document */ switch(cur_ptr->linktype) { case HW_BACKGROUND_LINK: - snprintf(bgstr, BUFFERLEN, " background='%s'", cur_ptr->link); + snprintf(istr, BUFFERLEN, " background='%s'", cur_ptr->link); break; case HW_INTAG_LINK: snprintf(istr, BUFFERLEN, " %s='%s'", cur_ptr->tagattr, cur_ptr->link); @@ -715,10 +715,10 @@ } else { switch(cur_ptr->linktype) { case HW_BACKGROUND_LINK: - if(NULL != cur_ptr->destdocname) - snprintf(bgstr, BUFFERLEN, " background='%s/%s'", scriptname[HW_BACKGROUND_LINK], cur_ptr->destdocname); - else - bgstr[0] = '\0'; + if(NULL != cur_ptr->destdocname) { + snprintf(istr, BUFFERLEN, " background='%s/%s'", scriptname[HW_BACKGROUND_LINK], cur_ptr->destdocname); + } else + istr[0] = '\0'; break; case HW_INTAG_LINK: if(cur_ptr->fragment) @@ -2140,7 +2140,7 @@ if(pAnchorList != NULL) { char *newtext; - char *body; + char *body = NULL; char **prefixarray; prefixarray = emalloc(5*sizeof(char *)); @@ -2157,7 +2157,7 @@ dlst_kill(pAnchorList, fnDeleteAnchor); #endif *bodytag = strdup(body); - efree(body); + if(body) efree(body); *text = newtext; *count = strlen(newtext); } @@ -2186,7 +2186,7 @@ if(pAnchorList != NULL) { char *newtext; - char *body; + char *body = NULL; newtext = fnInsAnchorsIntoText(*text, pAnchorList, &body, urlprefix); @@ -2197,7 +2197,8 @@ dlst_kill(pAnchorList, fnDeleteAnchor); #endif *bodytag = strdup(body); - efree(body); + if(body) efree(body); +fprintf(stderr, "bodytag = %s\n", *bodytag); *text = newtext; *count = strlen(newtext); } @@ -5094,7 +5095,7 @@ if(pAnchorList != NULL) { char *newtext; - char *body; + char *body = NULL; newtext = fnInsAnchorsIntoText(*text, pAnchorList, &body, urlprefix); #ifdef newlist @@ -5104,7 +5105,7 @@ dlst_kill(pAnchorList, fnDeleteAnchor); #endif *bodytag = strdup(body); - efree(body); + if(body) efree(body); *text = newtext; *count = strlen(newtext); } Index: php4/ext/hyperwave/hw.c diff -u php4/ext/hyperwave/hw.c:1.71 php4/ext/hyperwave/hw.c:1.72 --- php4/ext/hyperwave/hw.c:1.71 Tue Dec 12 04:28:25 2000 +++ php4/ext/hyperwave/hw.c Wed Dec 13 09:27:12 2000 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: hw.c,v 1.71 2000/12/12 12:28:25 steinm Exp $ */ +/* $Id: hw.c,v 1.72 2000/12/13 17:27:12 steinm Exp $ */ #include <stdlib.h> #include <errno.h> @@ -655,10 +655,12 @@ switch(data->type) { case IS_STRING: *ptr = estrdup(data->value.str.val); -fprintf(stderr, "carr[] = %s\n", *ptr); - ptr++; +/*fprintf(stderr, "carr[] = %s\n", *ptr); */ break; + default: + *ptr = NULL; } + ptr++; zend_hash_move_forward(arrht); } @@ -2819,7 +2821,12 @@ strcpy(temp+strlen(ptr->bodytag)-1+argv[1]->value.str.len, ">\n"); RETURN_STRING(temp, 0); } else { - RETURN_STRING(ptr->bodytag, 1); +//fprintf(stderr, "hw_document_bodytag: %s (%s)\n", ptr->bodytag, ptr->attributes); + if(ptr->bodytag) { + RETURN_STRING(ptr->bodytag, 1); + } else { + RETURN_EMPTY_STRING(); + } } } /* }}} */ @@ -4186,7 +4193,10 @@ php_error(E_WARNING, "command (insertanchors) returned %d\n", error); RETURN_FALSE; } +/*fprintf(stderr, "in hw_insertanchors: %s\n", hwdoc->attributes); */ hwdoc->size = count; + if(hwdoc->bodytag) free (hwdoc->bodytag); + hwdoc->bodytag = bodytag; RETURN_TRUE; }

« previous php.cvs (#3131) next »