summaryrefslogtreecommitdiff
path: root/backend/slackpkg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/slackpkg.cpp')
-rw-r--r--backend/slackpkg.cpp19
1 files changed, 9 insertions, 10 deletions
diff --git a/backend/slackpkg.cpp b/backend/slackpkg.cpp
index b179da0..2f418a8 100644
--- a/backend/slackpkg.cpp
+++ b/backend/slackpkg.cpp
@@ -126,7 +126,7 @@ public:
**/
void generate_cache(JobData *job_data, const std::filesystem::path& tmpl) noexcept
{
- char **pkg_tokens = nullptr;
+ std::vector<std::string> pkg_tokens;
char *query = nullptr, *filename = nullptr, *location = nullptr, *summary = nullptr, *line;
unsigned pkg_compressed = 0, pkg_uncompressed = 0;
std::uint8_t pkg_name_len;
@@ -241,10 +241,10 @@ public:
{
summary = g_strndup(summary + 1, strlen(summary) - 2); /* Without ( ) */
}
- pkg_tokens = split_package_name(filename);
- pkg_name_len = strlen(pkg_tokens[0]); /* Description begins with pkg_name: */
+ pkg_tokens = split_package_name(filename).value();
+ pkg_name_len = pkg_tokens[0].size(); /* Description begins with pkg_name: */
}
- else if (filename && !strncmp(line, pkg_tokens[0], pkg_name_len))
+ else if (filename && !strncmp(line, pkg_tokens[0].c_str(), pkg_name_len))
{
g_string_append(desc, line + pkg_name_len + 1);
}
@@ -270,23 +270,22 @@ public:
{
statement = update_statement;
}
- sqlite3_bind_text(statement, 1, pkg_tokens[3], -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(statement, 2, pkg_tokens[1], -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(statement, 3, pkg_tokens[2], -1, SQLITE_TRANSIENT);
- sqlite3_bind_text(statement, 4, pkg_tokens[4], -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(statement, 1, pkg_tokens[3].c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(statement, 2, pkg_tokens[1].c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(statement, 3, pkg_tokens[2].c_str(), -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(statement, 4, pkg_tokens[4].c_str(), -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 5, location, -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 6, summary, -1, SQLITE_TRANSIENT);
sqlite3_bind_text(statement, 7, desc->str, -1, SQLITE_TRANSIENT);
sqlite3_bind_int(statement, 8, pkg_compressed);
sqlite3_bind_int(statement, 9, pkg_uncompressed);
- sqlite3_bind_text(statement, 10, pkg_tokens[0], -1, SQLITE_TRANSIENT);
+ sqlite3_bind_text(statement, 10, pkg_tokens[0].c_str(), -1, SQLITE_TRANSIENT);
sqlite3_step(statement);
sqlite3_clear_bindings(statement);
sqlite3_reset(statement);
/* Reset for the next package */
- g_strfreev(pkg_tokens);
g_free(filename);
g_free(location);
g_free(summary);