Bug tracking string is now kinda C++

This commit is contained in:
2025-04-15 20:12:08 -04:00
parent 5c79999603
commit d001d2609b
4 changed files with 18 additions and 10 deletions

View File

@ -71,7 +71,6 @@ BrowserWindow *a_Bw_new(void)
bw->Docs = dList_new(8);
bw->num_page_bugs = 0;
bw->page_bugs = dStr_new("");
bw->zoom = 1.0;
@ -107,7 +106,6 @@ BrowserWindow::~BrowserWindow()
delete this->meta_refresh_url;
dStr_free(this->page_bugs, 1);
break;
}
}

View File

@ -68,7 +68,7 @@ struct BrowserWindow {
/** HTML-bugs detected at parse time */
int num_page_bugs;
Dstr *page_bugs;
std::string page_bugs;
/* Zoom factor */
float zoom;

View File

@ -24,6 +24,9 @@
#include <errno.h>
#include <string>
#include <sstream>
#include <Alepha/AutoRAII.h>
#include "bw.hh" /* for BrowserWindow */
#include "msg.hh"
@ -156,14 +159,21 @@ void DilloHtml::bugMessage(const char *format, ... )
{
va_list argp;
std::ostringstream oss;
if (bw->num_page_bugs)
dStr_append_c(bw->page_bugs, '\n');
dStr_sprintfa(bw->page_bugs,
"HTML warning: line %d, ",
getCurrLineNumber());
bw->page_bugs+= '\n';
oss << "HTML warning: line %d, " << getCurrLineNumber();
bw->page_bugs+= oss.str();
va_start(argp, format);
dStr_vsprintfa(bw->page_bugs, format, argp);
auto bugs= Alepha::AutoRAII
{
[]{ return dStr_new( "" ); },
[]( auto s ){ dStr_free( s, true ); },
};
dStr_vsprintfa(bugs, format, argp);
va_end(argp);
bw->page_bugs+= bugs->str;
a_UIcmd_set_bug_prog(bw, ++bw->num_page_bugs);
}
@ -527,7 +537,7 @@ void DilloHtml::initDw()
dw = stack->getRef(0)->textblock = new Textblock (prefs.limit_text_width);
bw->num_page_bugs = 0;
dStr_truncate(bw->page_bugs, 0);
bw->page_bugs.clear();
}
/**

View File

@ -1344,7 +1344,7 @@ void a_UIcmd_view_page_bugs(void *vbw)
BrowserWindow *bw = (BrowserWindow*)vbw;
if (bw->num_page_bugs > 0) {
a_Dialog_text_window("Flenser: Detected HTML errors", bw->page_bugs->str);
a_Dialog_text_window("Flenser: Detected HTML errors", bw->page_bugs.c_str());
} else {
a_Dialog_msg("Flenser: Good HTML!", "No HTML errors found while parsing!");
}