diff options
Diffstat (limited to 'backend/slackpkg.cpp')
| -rw-r--r-- | backend/slackpkg.cpp | 19 |
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); |
