summaryrefslogtreecommitdiff
path: root/backend/slackpkg.cc
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-02-27 09:51:29 +0100
committerEugen Wissner <belka@caraus.de>2026-02-27 09:51:29 +0100
commit2c65a2c6b02924df720f55c6e96e2e201d404c0c (patch)
treed5103d1d2fa92099a71553d4523138617c1e0bbd /backend/slackpkg.cc
parent5875f6ac9ad2191eb761157fb94cb73bc671a9f0 (diff)
downloadkatja-2c65a2c6b02924df720f55c6e96e2e201d404c0c.tar.gz
Rename Glib primitive types to standard C types
Diffstat (limited to 'backend/slackpkg.cc')
-rw-r--r--backend/slackpkg.cc167
1 files changed, 83 insertions, 84 deletions
diff --git a/backend/slackpkg.cc b/backend/slackpkg.cc
index d10fac2..9e99535 100644
--- a/backend/slackpkg.cc
+++ b/backend/slackpkg.cc
@@ -7,7 +7,7 @@
namespace slack {
-GHashTable *Slackpkg::cat_map = NULL;
+GHashTable *Slackpkg::cat_map = nullptr;
/*
* slack::Slackpkg::manifest:
@@ -19,24 +19,24 @@ GHashTable *Slackpkg::cat_map = NULL;
*/
void
Slackpkg::manifest (PkBackendJob *job,
- const gchar *tmpl, gchar *filename) noexcept
+ const char *tmpl, char *filename) noexcept
{
FILE *manifest;
- gint err, read_len;
- guint pos;
- gchar buf[max_buf_size], *path, *pkg_filename, *rest = NULL, *start;
- gchar *full_name = NULL;
- gchar **line, **lines;
+ int err, read_len;
+ unsigned pos;
+ char buf[max_buf_size], *path, *pkg_filename, *rest = nullptr, *start;
+ char *full_name = nullptr;
+ char **line, **lines;
BZFILE *manifest_bz2;
- GRegex *pkg_expr = NULL, *file_expr = NULL;
+ GRegex *pkg_expr = nullptr, *file_expr = nullptr;
GMatchInfo *match_info;
- sqlite3_stmt *statement = NULL;
+ sqlite3_stmt *statement = nullptr;
auto job_data = static_cast<JobData *> (pk_backend_job_get_user_data(job));
path = g_build_filename(tmpl,
this->get_name (),
filename,
- NULL);
+ nullptr);
manifest = fopen(path, "rb");
g_free(path);
@@ -44,7 +44,7 @@ Slackpkg::manifest (PkBackendJob *job,
{
return;
}
- if (!(manifest_bz2 = BZ2_bzReadOpen(&err, manifest, 0, 0, NULL, 0)))
+ if (!(manifest_bz2 = BZ2_bzReadOpen(&err, manifest, 0, 0, nullptr, 0)))
{
goto out;
}
@@ -53,14 +53,14 @@ Slackpkg::manifest (PkBackendJob *job,
pkg_expr = g_regex_new("^\\|\\|[[:blank:]]+Package:[[:blank:]]+.+\\/(.+)\\.(t[blxg]z$)?",
static_cast<GRegexCompileFlags> (G_REGEX_OPTIMIZE | G_REGEX_DUPNAMES),
static_cast<GRegexMatchFlags> (0),
- NULL);
+ nullptr);
file_expr = g_regex_new("^[-bcdlps][-r][-w][-xsS][-r][-w][-xsS][-r][-w]"
"[-xtT][[:space:]][^[:space:]]+[[:space:]]+"
"[[:digit:]]+[[:space:]][[:digit:]-]+[[:space:]]"
"[[:digit:]:]+[[:space:]](?!install\\/|\\.)(.*)",
static_cast<GRegexCompileFlags> (G_REGEX_OPTIMIZE | G_REGEX_DUPNAMES),
static_cast<GRegexMatchFlags> (0),
- NULL);
+ nullptr);
if (!(file_expr) || !(pkg_expr))
{
goto out;
@@ -71,12 +71,12 @@ Slackpkg::manifest (PkBackendJob *job,
"INSERT INTO filelist (full_name, filename) VALUES (@full_name, @filename)",
-1,
&statement,
- NULL) != SQLITE_OK)
+ nullptr) != SQLITE_OK)
{
goto out;
}
- sqlite3_exec(job_data->db, "BEGIN TRANSACTION", NULL, NULL, NULL);
+ sqlite3_exec(job_data->db, "BEGIN TRANSACTION", nullptr, nullptr, nullptr);
while ((read_len = BZ2_bzRead(&err, manifest_bz2, buf, max_buf_size - 1)))
{
if ((err != BZ_OK) && (err != BZ_STREAM_END))
@@ -90,7 +90,7 @@ Slackpkg::manifest (PkBackendJob *job,
if (rest)
{ /* Add to the first line rest characters from the previous read operation */
start = lines[0];
- lines[0] = g_strconcat(rest, lines[0], NULL);
+ lines[0] = g_strconcat(rest, lines[0], nullptr);
g_free(start);
g_free(rest);
}
@@ -98,7 +98,7 @@ Slackpkg::manifest (PkBackendJob *job,
{
pos = g_strv_length(lines) - 1;
rest = lines[pos];
- lines[pos] = NULL;
+ lines[pos] = nullptr;
}
for (line = lines; *line; line++)
{
@@ -111,12 +111,12 @@ Slackpkg::manifest (PkBackendJob *job,
}
else
{
- full_name = NULL;
+ full_name = nullptr;
}
}
g_match_info_free(match_info);
- match_info = NULL;
+ match_info = nullptr;
if (full_name && g_regex_match(file_expr, *line, static_cast<GRegexMatchFlags> (0), &match_info))
{
pkg_filename = g_match_info_fetch(match_info, 1);
@@ -132,7 +132,7 @@ Slackpkg::manifest (PkBackendJob *job,
g_strfreev(lines);
}
- sqlite3_exec(job_data->db, "END TRANSACTION", NULL, NULL, NULL);
+ sqlite3_exec(job_data->db, "END TRANSACTION", nullptr, nullptr, nullptr);
g_free(full_name);
BZ2_bzReadClose(&err, manifest_bz2);
@@ -159,33 +159,33 @@ out:
* Returns: List of files needed for building the cache.
**/
GSList *
-Slackpkg::collect_cache_info (const gchar *tmpl) noexcept
+Slackpkg::collect_cache_info (const char *tmpl) noexcept
{
- CURL *curl = NULL;
- gchar **source_dest;
- GSList *file_list = NULL;
+ CURL *curl = nullptr;
+ char **source_dest;
+ GSList *file_list = nullptr;
GFile *tmp_dir, *repo_tmp_dir;
/* Create the temporary directory for the repository */
tmp_dir = g_file_new_for_path(tmpl);
repo_tmp_dir = g_file_get_child(tmp_dir, this->get_name ());
- g_file_make_directory(repo_tmp_dir, NULL, NULL);
+ g_file_make_directory(repo_tmp_dir, nullptr, nullptr);
/* Download PACKAGES.TXT. These files are most important, break if some of them couldn't be found */
- for (gchar **cur_priority = this->priority; *cur_priority; cur_priority++)
+ for (char **cur_priority = this->priority; *cur_priority; cur_priority++)
{
- source_dest = static_cast<gchar **> (g_malloc_n(3, sizeof(gchar *)));
+ source_dest = static_cast<char **> (g_malloc_n(3, sizeof(char *)));
source_dest[0] = g_strconcat(this->get_mirror (),
*cur_priority,
"/PACKAGES.TXT",
- NULL);
+ nullptr);
source_dest[1] = g_build_filename(tmpl,
this->get_name (),
"PACKAGES.TXT",
- NULL);
- source_dest[2] = NULL;
+ nullptr);
+ source_dest[2] = nullptr;
- if (get_file(&curl, source_dest[0], NULL) == CURLE_OK)
+ if (get_file(&curl, source_dest[0], nullptr) == CURLE_OK)
{
file_list = g_slist_prepend(file_list, source_dest);
}
@@ -197,17 +197,17 @@ Slackpkg::collect_cache_info (const gchar *tmpl) noexcept
}
/* Download file lists if available */
- source_dest = static_cast<gchar **> (g_malloc_n(3, sizeof(gchar *)));
+ source_dest = static_cast<char **> (g_malloc_n(3, sizeof(char *)));
source_dest[0] = g_strconcat(this->get_mirror (),
*cur_priority,
"/MANIFEST.bz2",
- NULL);
+ nullptr);
source_dest[1] = g_strconcat(tmpl,
"/", this->get_name (),
"/", *cur_priority, "-MANIFEST.bz2",
- NULL);
- source_dest[2] = NULL;
- if (get_file(&curl, source_dest[0], NULL) == CURLE_OK)
+ nullptr);
+ source_dest[2] = nullptr;
+ if (get_file(&curl, source_dest[0], nullptr) == CURLE_OK)
{
file_list = g_slist_prepend(file_list, source_dest);
}
@@ -229,7 +229,7 @@ out:
/**
* slack::Slackpkg::generate_cache:
- * @job: A #PkBackendJob.
+ * @job_data: A #JobData.
* @tmpl: temporary directory for downloading the files.
*
* Download files needed to get the information like the list of packages
@@ -238,26 +238,25 @@ out:
* Returns: List of files needed for building the cache.
**/
void
-Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
+Slackpkg::generate_cache (JobData *job_data, const char *tmpl) noexcept
{
- gchar **pkg_tokens = NULL;
- gchar *query = NULL, *filename = NULL, *location = NULL, *summary = NULL, *line, *packages_txt;
- guint pkg_compressed = 0, pkg_uncompressed = 0;
+ char **pkg_tokens = nullptr;
+ char *query = nullptr, *filename = nullptr, *location = nullptr, *summary = nullptr, *line, *packages_txt;
+ unsigned pkg_compressed = 0, pkg_uncompressed = 0;
gushort pkg_name_len;
GString *desc;
GFile *list_file;
- GFileInputStream *fin = NULL;
- GDataInputStream *data_in = NULL;
- sqlite3_stmt *insert_statement = NULL, *update_statement = NULL, *insert_default_statement = NULL, *statement;
- auto job_data = static_cast<JobData *> (pk_backend_job_get_user_data(job));
+ GFileInputStream *fin = nullptr;
+ GDataInputStream *data_in = nullptr;
+ sqlite3_stmt *insert_statement = nullptr, *update_statement = nullptr, *insert_default_statement = nullptr, *statement;
/* Check if the temporary directory for this repository exists, then the file metadata have to be generated */
packages_txt = g_build_filename(tmpl,
this->get_name (),
"PACKAGES.TXT",
- NULL);
+ nullptr);
list_file = g_file_new_for_path(packages_txt);
- fin = g_file_read(list_file, NULL, NULL);
+ fin = g_file_read(list_file, nullptr, nullptr);
g_object_unref(list_file);
g_free(packages_txt);
if (!fin)
@@ -269,7 +268,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
"DELETE FROM repos WHERE repo LIKE @repo",
-1,
&statement,
- NULL) == SQLITE_OK)
+ nullptr) == SQLITE_OK)
{
sqlite3_bind_text(statement,
1,
@@ -283,7 +282,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
"INSERT INTO repos (repo_order, repo) VALUES (@repo_order, @repo)",
-1,
&statement,
- NULL) != SQLITE_OK)
+ nullptr) != SQLITE_OK)
{
goto out;
}
@@ -304,7 +303,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
"@desc, @compressed, @uncompressed, @name, @repo_order, @cat)",
-1,
&insert_statement,
- NULL) != SQLITE_OK)
+ nullptr) != SQLITE_OK)
|| (sqlite3_prepare_v2(job_data->db,
"INSERT OR REPLACE INTO pkglist (full_name, ver, arch, ext, location, "
"summary, desc, compressed, uncompressed, name, repo_order) "
@@ -312,7 +311,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
"@desc, @compressed, @uncompressed, @name, @repo_order)",
-1,
&insert_default_statement,
- NULL) != SQLITE_OK))
+ nullptr) != SQLITE_OK))
{
goto out;
}
@@ -321,7 +320,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
"desc = @desc, compressed = @compressed, uncompressed = @uncompressed "
"WHERE name LIKE @name AND repo_order = %u",
this->get_order ());
- if (sqlite3_prepare_v2(job_data->db, query, -1, &update_statement, NULL) != SQLITE_OK)
+ if (sqlite3_prepare_v2(job_data->db, query, -1, &update_statement, nullptr) != SQLITE_OK)
{
goto out;
}
@@ -329,9 +328,9 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
data_in = g_data_input_stream_new(G_INPUT_STREAM(fin));
desc = g_string_new("");
- sqlite3_exec(job_data->db, "BEGIN TRANSACTION", NULL, NULL, NULL);
+ sqlite3_exec(job_data->db, "BEGIN TRANSACTION", nullptr, nullptr, nullptr);
- while ((line = g_data_input_stream_read_line(data_in, NULL, NULL, NULL)))
+ while ((line = g_data_input_stream_read_line(data_in, nullptr, nullptr, nullptr)))
{
if (!strncmp(line, "PACKAGE NAME: ", 15))
{
@@ -339,7 +338,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
if (this->is_blacklisted (filename))
{
g_free(filename);
- filename = NULL;
+ filename = nullptr;
}
}
else if (filename && !strncmp(line, "PACKAGE LOCATION: ", 19))
@@ -359,10 +358,10 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
else if (filename && !g_strcmp0(line, "PACKAGE DESCRIPTION:"))
{
g_free(line);
- line = g_data_input_stream_read_line(data_in, NULL, NULL, NULL); /* Short description */
+ line = g_data_input_stream_read_line(data_in, nullptr, nullptr, nullptr); /* Short description */
summary = g_strstr_len(line, -1, "(");
- if (summary) /* Else summary = NULL */
+ if (summary) /* Else summary = nullptr */
{
summary = g_strndup(summary + 1, strlen(summary) - 2); /* Without ( ) */
}
@@ -379,7 +378,7 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
{
/* Get the package group based on its location */
const char *cat = g_strrstr(location, "/");
- if (cat) /* Else cat = NULL */
+ if (cat) /* Else cat = nullptr */
{
cat = static_cast<const char *> (g_hash_table_lookup(cat_map, cat + 1));
}
@@ -418,21 +417,21 @@ Slackpkg::generate_cache (PkBackendJob *job, const gchar *tmpl) noexcept
g_free(filename);
g_free(location);
g_free(summary);
- filename = location = summary = NULL;
+ filename = location = summary = nullptr;
g_string_assign(desc, "");
pkg_compressed = pkg_uncompressed = 0;
}
g_free(line);
}
- sqlite3_exec(job_data->db, "END TRANSACTION", NULL, NULL, NULL);
+ sqlite3_exec(job_data->db, "END TRANSACTION", nullptr, nullptr, nullptr);
- g_string_free(desc, TRUE);
+ g_string_free(desc, true);
g_object_unref(data_in);
/* Parse MANIFEST.bz2 */
- for (gchar **p = this->priority; *p; p++)
+ for (char **p = this->priority; *p; p++)
{
- filename = g_strconcat(*p, "-MANIFEST.bz2", NULL);
+ filename = g_strconcat(*p, "-MANIFEST.bz2", nullptr);
manifest (job, tmpl, filename);
g_free(filename);
}
@@ -475,19 +474,19 @@ Slackpkg::~Slackpkg () noexcept
*
* Returns: New #slack::Slackpkg.
**/
-Slackpkg::Slackpkg (const gchar *name, const gchar *mirror,
- guint8 order, const gchar *blacklist, gchar **priority) noexcept
+Slackpkg::Slackpkg (const char *name, const char *mirror,
+ std::uint8_t order, const char *blacklist, char **priority) noexcept
{
GRegex *regex;
if (blacklist)
{
regex = static_cast<GRegex *> (g_regex_new (blacklist,
- G_REGEX_OPTIMIZE, static_cast<GRegexMatchFlags> (0), NULL));
+ G_REGEX_OPTIMIZE, static_cast<GRegexMatchFlags> (0), nullptr));
}
else
{
- regex = NULL;
+ regex = nullptr;
}
this->name = g_strdup (name);
@@ -500,25 +499,25 @@ Slackpkg::Slackpkg (const gchar *name, const gchar *mirror,
this->priority = priority;
// Initialize category map
- if (cat_map == NULL)
+ if (cat_map == nullptr)
{
cat_map = g_hash_table_new(g_str_hash, g_str_equal);
- g_hash_table_insert (cat_map, (gpointer) "a", (gpointer) "system");
- g_hash_table_insert (cat_map, (gpointer) "ap", (gpointer) "admin-tools");
- g_hash_table_insert (cat_map, (gpointer) "d", (gpointer) "programming");
- g_hash_table_insert (cat_map, (gpointer) "e", (gpointer) "programming");
- g_hash_table_insert (cat_map, (gpointer) "f", (gpointer) "documentation");
- g_hash_table_insert (cat_map, (gpointer) "k", (gpointer) "system");
- g_hash_table_insert (cat_map, (gpointer) "kde", (gpointer) "desktop-kde");
- g_hash_table_insert (cat_map, (gpointer) "kdei", (gpointer) "localization");
- g_hash_table_insert (cat_map, (gpointer) "l", (gpointer) "system");
- g_hash_table_insert (cat_map, (gpointer) "n", (gpointer) "network");
- g_hash_table_insert (cat_map, (gpointer) "t", (gpointer) "publishing");
- g_hash_table_insert (cat_map, (gpointer) "tcl", (gpointer) "system");
- g_hash_table_insert (cat_map, (gpointer) "x", (gpointer) "desktop-other");
- g_hash_table_insert (cat_map, (gpointer) "xap", (gpointer) "accessories");
- g_hash_table_insert (cat_map, (gpointer) "xfce", (gpointer) "desktop-xfce");
- g_hash_table_insert (cat_map, (gpointer) "y", (gpointer) "games");
+ g_hash_table_insert (cat_map, (void *) "a", (void *) "system");
+ g_hash_table_insert (cat_map, (void *) "ap", (void *) "admin-tools");
+ g_hash_table_insert (cat_map, (void *) "d", (void *) "programming");
+ g_hash_table_insert (cat_map, (void *) "e", (void *) "programming");
+ g_hash_table_insert (cat_map, (void *) "f", (void *) "documentation");
+ g_hash_table_insert (cat_map, (void *) "k", (void *) "system");
+ g_hash_table_insert (cat_map, (void *) "kde", (void *) "desktop-kde");
+ g_hash_table_insert (cat_map, (void *) "kdei", (void *) "localization");
+ g_hash_table_insert (cat_map, (void *) "l", (void *) "system");
+ g_hash_table_insert (cat_map, (void *) "n", (void *) "network");
+ g_hash_table_insert (cat_map, (void *) "t", (void *) "publishing");
+ g_hash_table_insert (cat_map, (void *) "tcl", (void *) "system");
+ g_hash_table_insert (cat_map, (void *) "x", (void *) "desktop-other");
+ g_hash_table_insert (cat_map, (void *) "xap", (void *) "accessories");
+ g_hash_table_insert (cat_map, (void *) "xfce", (void *) "desktop-xfce");
+ g_hash_table_insert (cat_map, (void *) "y", (void *) "games");
}
}