diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2017-07-05 23:04:01 +0000 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2017-07-05 23:04:01 +0000 |
commit | 4b84022da163df7eff5a1518b088be14be926d4c (patch) | |
tree | 962a798808f5a1a00a1adcc843e6537253ef6484 /src/HTML.c | |
parent | d5342a3563fd6337c86312dd7ee27ae162edd5a3 (diff) | |
download | lynx-snapshots-4b84022da163df7eff5a1518b088be14be926d4c.tar.gz |
snapshot of project "lynx", label v2-8-9dev_15b
Diffstat (limited to 'src/HTML.c')
-rw-r--r-- | src/HTML.c | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/src/HTML.c b/src/HTML.c index c9ab9395..63d67206 100644 --- a/src/HTML.c +++ b/src/HTML.c @@ -1,5 +1,5 @@ /* - * $LynxId: HTML.c,v 1.173 2017/07/04 20:05:01 tom Exp $ + * $LynxId: HTML.c,v 1.174 2017/07/05 22:48:09 tom Exp $ * * Structured stream to Rich hypertext converter * ============================================ @@ -505,6 +505,8 @@ void HTML_put_character(HTStructured * me, int c) */ void HTML_put_string(HTStructured * me, const char *s) { + HTChunk *target = NULL; + #ifdef USE_PRETTYSRC char *translated_string = NULL; #endif @@ -525,15 +527,15 @@ void HTML_put_string(HTStructured * me, const char *s) break; /* Do Nothing */ case HTML_TITLE: - HTChunkPuts(&me->title, s); + target = &me->title; break; case HTML_STYLE: - HTChunkPuts(&me->style_block, s); + target = &me->style_block; break; case HTML_SCRIPT: - HTChunkPuts(&me->script, s); + target = &me->script; break; case HTML_PRE: /* Formatted text */ @@ -547,20 +549,20 @@ void HTML_put_string(HTStructured * me, const char *s) break; case HTML_OBJECT: - HTChunkPuts(&me->object, s); + target = &me->object; break; case HTML_TEXTAREA: - HTChunkPuts(&me->textarea, s); + target = &me->textarea; break; case HTML_SELECT: case HTML_OPTION: - HTChunkPuts(&me->option, s); + target = &me->option; break; case HTML_MATH: - HTChunkPuts(&me->math, s); + target = &me->math; break; default: /* Free format text? */ @@ -651,6 +653,15 @@ void HTML_put_string(HTStructured * me, const char *s) } /* for */ } } /* end switch */ + + if (target != NULL) { + if (target->data == s) { + CTRACE((tfp, "BUG: appending chunk to itself: `%.*s'\n", + target->size, target->data)); + } else { + HTChunkPuts(target, s); + } + } #ifdef USE_PRETTYSRC if (psrc_convert_string) { psrc_convert_string = FALSE; |