}
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;
/* 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);
} 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)
if(pAnchorList != NULL) {
char *newtext;
- char *body;
+ char *body = NULL;
char **prefixarray;
prefixarray = emalloc(5*sizeof(char *));
dlst_kill(pAnchorList, fnDeleteAnchor);
#endif
*bodytag = strdup(body);
- efree(body);
+ if(body) efree(body);
*text = newtext;
*count = strlen(newtext);
}
if(pAnchorList != NULL) {
char *newtext;
- char *body;
+ char *body = NULL;
newtext = fnInsAnchorsIntoText(*text, pAnchorList, &body, urlprefix);
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);
}
if(pAnchorList != NULL) {
char *newtext;
- char *body;
+ char *body = NULL;
newtext = fnInsAnchorsIntoText(*text, pAnchorList, &body, urlprefix);
#ifdef newlist
dlst_kill(pAnchorList, fnDeleteAnchor);
#endif
*bodytag = strdup(body);
- efree(body);
+ if(body) efree(body);
*text = newtext;
*count = strlen(newtext);
}
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);
}
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();
+ }
}
}
/* }}} */
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;
}