summaryrefslogtreecommitdiffstatshomepage
path: root/src/tools/regrep.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/regrep.cpp')
-rw-r--r--src/tools/regrep.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/tools/regrep.cpp b/src/tools/regrep.cpp
index fd6f002ac89..316ef805f5a 100644
--- a/src/tools/regrep.cpp
+++ b/src/tools/regrep.cpp
@@ -14,6 +14,7 @@
#include "osdcomm.h"
+#include <algorithm>
#include <cassert>
#include <cctype>
#include <cstdio>
@@ -67,8 +68,8 @@ struct summary_file
summary_file * next;
char name[20];
char source[100];
- uint8_t status[MAX_COMPARES];
- uint8_t matchbitmap[MAX_COMPARES];
+ uint8_t status[MAX_COMPARES];
+ uint8_t matchbitmap[MAX_COMPARES];
std::string text[MAX_COMPARES];
};
@@ -224,7 +225,7 @@ static inline int get_unique_index(const summary_file *curfile, int index)
int main(int argc, char *argv[])
{
- uint32_t bufsize;
+ size_t bufsize;
void *buffer;
int listnum;
int result;
@@ -290,7 +291,7 @@ int main(int argc, char *argv[])
static summary_file *get_file(const char *filename)
{
- summary_file *file;
+ summary_file *file = nullptr;
/* use the first two characters as a lookup */
for (file = filehash[filename[0] & 0x7f][filename[1] & 0x7f]; file != nullptr; file = file->next)
@@ -298,10 +299,14 @@ static summary_file *get_file(const char *filename)
return file;
/* didn't find one -- allocate */
- file = (summary_file *)malloc(sizeof(*file));
+ file = new (std::nothrow) summary_file;
if (file == nullptr)
return nullptr;
- memset(file, 0, sizeof(*file));
+ file->next = nullptr;
+ std::fill(std::begin(file->name), std::end(file->name), '\0');
+ std::fill(std::begin(file->source), std::end(file->source), '\0');
+ std::fill(std::begin(file->status), std::end(file->status), 0);
+ std::fill(std::begin(file->matchbitmap), std::end(file->matchbitmap), 0);
/* set the name so we find it in the future */
strcpy(file->name, filename);
@@ -510,7 +515,7 @@ static int CLIB_DECL compare_file(const void *file0ptr, const void *file1ptr)
into a single, sorted list
-------------------------------------------------*/
-static summary_file *sort_file_list(void)
+static summary_file *sort_file_list()
{
summary_file *listhead, **tailptr, *curfile, **filearray;
int numfiles, filenum;
@@ -577,8 +582,7 @@ static util::core_file::ptr create_file_and_output_header(std::string_view filen
/* print a header */
std::string modified(templatefile);
strreplace(modified, "<!--TITLE-->", title);
- std::size_t written;
- file->write(modified.c_str(), modified.length(), written); // FIXME: check for errors
+ /*auto const [err, written] =*/ write(*file, modified.c_str(), modified.length()); // FIXME: check for errors
/* return the file */
return file;
@@ -594,8 +598,7 @@ static void output_footer_and_close_file(util::write_stream::ptr &&file, std::st
{
std::string modified(templatefile);
strreplace(modified, "<!--TITLE-->", title);
- std::size_t written;
- file->write(modified.c_str(), modified.length(), written); // FIXME: check for errors
+ /*auto const [err, written] =*/ write(*file, modified.c_str(), modified.length()); // FIXME: check for errors
file.reset();
}