[gnc-filepath-utils.cpp] null check char* arguments

pull/2228/head
Christopher Lam 5 days ago
parent f9e2fb9130
commit 96dac7bb38

@ -1326,6 +1326,7 @@ backup_regex (".*[.](?:xac|gnucash)[.][0-9]{14}[.](?:xac|gnucash)$");
gboolean gnc_filename_is_backup (const char *filename)
{
g_return_val_if_fail (filename, FALSE);
return std::regex_match (filename, backup_regex);
}
@ -1334,6 +1335,7 @@ datafile_regex (".*[.](?:xac|gnucash)$");
gboolean gnc_filename_is_datafile (const char *filename)
{
g_return_val_if_fail (filename, FALSE);
return !gnc_filename_is_backup (filename) &&
std::regex_match (filename, datafile_regex);
}

@ -141,10 +141,12 @@ TEST_F(PathTest, gnc_path_get_sysconfdir)
TEST_F (PathTest, gnc_filename_is_backup)
{
EXPECT_EQ (gnc_filename_is_backup (nullptr), false);
EXPECT_EQ (gnc_filename_is_backup (""), false);
EXPECT_EQ (gnc_filename_is_backup ("a.gnucash"), false);
EXPECT_EQ (gnc_filename_is_backup ("a.gnucash.20201131010203.gnucash"), true);
EXPECT_EQ (gnc_filename_is_datafile (nullptr), false);
EXPECT_EQ (gnc_filename_is_datafile (""), false);
EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash"), true);
EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash.20201131010203.gnucash"), false);

Loading…
Cancel
Save