About text is now C++-ified.

This commit is contained in:
2025-08-17 20:17:59 -04:00
parent 3e5badfaa1
commit a51b81a970
4 changed files with 20 additions and 9 deletions

View File

@ -1,6 +1,8 @@
#ifndef __IO_H__ #ifndef __IO_H__
#define __IO_H__ #define __IO_H__
#include <string_view>
#include "d_size.h" #include "d_size.h"
#include "../../dlib/dlib.h" #include "../../dlib/dlib.h"
#include "../chain.hh" #include "../chain.hh"
@ -28,7 +30,7 @@
/* /*
* Exported data * Exported data
*/ */
extern const char *AboutSplash; const std::string_view getAboutSplash();
#endif /* __IO_H__ */ #endif /* __IO_H__ */

View File

@ -25,7 +25,7 @@ endif
libDiof_a_SOURCES = \ libDiof_a_SOURCES = \
mime.cc \ mime.cc \
mime.hh \ mime.hh \
about.c \ about.cc \
Url.h \ Url.h \
http.cc \ http.cc \
tls.hh \ tls.hh \

View File

@ -10,8 +10,12 @@
* (at your option) any later version. * (at your option) any later version.
*/ */
#include <string_view>
#include <config.h> #include <config.h>
namespace
{
/** /**
* HTML text for startup screen * HTML text for startup screen
*/ */
@ -52,4 +56,10 @@ const char *const AboutSplash=
"</div>\n" "</div>\n"
"</body>\n" "</body>\n"
"</html>\n"; "</html>\n";
}
std::string_view
getAboutSplash()
{
return AboutSplash;
}

View File

@ -89,7 +89,7 @@ static uint_t DelayedQueueIdleId = 0;
static CacheEntry_t *Cache_process_queue(CacheEntry_t *entry); static CacheEntry_t *Cache_process_queue(CacheEntry_t *entry);
static void Cache_delayed_process_queue(CacheEntry_t *entry); static void Cache_delayed_process_queue(CacheEntry_t *entry);
static void Cache_auth_entry(CacheEntry_t *entry, BrowserWindow *bw); static void Cache_auth_entry(CacheEntry_t *entry, BrowserWindow *bw);
static void Cache_entry_inject(const DilloUrl *Url, Dstr *data_ds); static void Cache_entry_inject(const DilloUrl *Url, std::string_view data_ds);
/** /**
* Determine if two cache entries are equal (used by CachedURLs) * Determine if two cache entries are equal (used by CachedURLs)
@ -124,9 +124,8 @@ void a_Cache_init(void)
/* inject the splash screen in the cache */ /* inject the splash screen in the cache */
{ {
auto url = a_Url_new("about:splash", NULL); auto url = a_Url_new("about:splash", NULL);
Dstr *ds = dStr_new(AboutSplash); const auto about = getAboutSplash();
Cache_entry_inject(url.get(), ds); Cache_entry_inject(url.get(), about);
dStr_free(ds, 1);
} }
} }
@ -265,17 +264,17 @@ static CacheEntry_t *Cache_entry_add(const DilloUrl *Url)
* Inject full page content directly into the cache. * Inject full page content directly into the cache.
* Used for "about:splash". May be used for "about:cache" too. * Used for "about:splash". May be used for "about:cache" too.
*/ */
static void Cache_entry_inject(const DilloUrl *Url, Dstr *data_ds) static void Cache_entry_inject(const DilloUrl *Url, const std::string_view data_ds)
{ {
CacheEntry_t *entry; CacheEntry_t *entry;
if (!(entry = Cache_entry_search(Url))) if (!(entry = Cache_entry_search(Url)))
entry = Cache_entry_add(Url); entry = Cache_entry_add(Url);
entry->Flags = CA_GotHeader + CA_GotLength + CA_InternalUrl; entry->Flags = CA_GotHeader + CA_GotLength + CA_InternalUrl;
if (data_ds->len) if (data_ds.size())
entry->Flags &= ~CA_IsEmpty; entry->Flags &= ~CA_IsEmpty;
dStr_truncate(entry->Data, 0); dStr_truncate(entry->Data, 0);
dStr_append_l(entry->Data, data_ds->str, data_ds->len); dStr_append_l(entry->Data, data_ds.data(), data_ds.size());
dStr_fit(entry->Data); dStr_fit(entry->Data);
entry->ExpectedSize = entry->TransferSize = entry->Data->len; entry->ExpectedSize = entry->TransferSize = entry->Data->len;
} }