diff options
author | Jonathan Lebon <jlebon@redhat.com> | 2018-02-01 22:06:50 +0000 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-02-02 22:36:49 +0000 |
commit | 5cba67520e3370db6f3fd3e06d000f733d4cc1e6 (patch) | |
tree | 8b9b4dc56e142cb78c943b13553bde8af8b16871 /src/ostree/ot-builtin-commit.c | |
parent | 4a98a86b7238f13881c8615b4435ae828c7068f3 (diff) | |
download | ostree-5cba67520e3370db6f3fd3e06d000f733d4cc1e6.tar.gz |
libotutil: factor out utility to parse file by line
This will be used in the checkout CLI as well.
Closes: #1442
Approved by: cgwalters
Diffstat (limited to 'src/ostree/ot-builtin-commit.c')
-rw-r--r-- | src/ostree/ot-builtin-commit.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/src/ostree/ot-builtin-commit.c b/src/ostree/ot-builtin-commit.c index c482b114..370f0e5b 100644 --- a/src/ostree/ot-builtin-commit.c +++ b/src/ostree/ot-builtin-commit.c @@ -124,32 +124,6 @@ static GOptionEntry options[] = { { NULL } }; -static gboolean -parse_file_by_line (const char *path, - gboolean (*cb)(const char*, void*, GError**), - void *cbdata, - GCancellable *cancellable, - GError **error) -{ - g_autofree char *contents = - glnx_file_get_contents_utf8_at (AT_FDCWD, path, NULL, cancellable, error); - if (!contents) - return FALSE; - - g_auto(GStrv) lines = g_strsplit (contents, "\n", -1); - for (char **iter = lines; iter && *iter; iter++) - { - /* skip empty lines at least */ - if (**iter == '\0') - continue; - - if (!cb (*iter, cbdata, error)) - return FALSE; - } - - return TRUE; -} - struct CommitFilterData { GHashTable *mode_adds; GHashTable *mode_overrides; @@ -457,16 +431,16 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio { filter_data.mode_adds = mode_adds = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); filter_data.mode_overrides = mode_overrides = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - if (!parse_file_by_line (opt_statoverride_file, handle_statoverride_line, - &filter_data, cancellable, error)) + if (!ot_parse_file_by_line (opt_statoverride_file, handle_statoverride_line, + &filter_data, cancellable, error)) goto out; } if (opt_skiplist_file) { skip_list = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - if (!parse_file_by_line (opt_skiplist_file, handle_skiplist_line, - skip_list, cancellable, error)) + if (!ot_parse_file_by_line (opt_skiplist_file, handle_skiplist_line, + skip_list, cancellable, error)) goto out; } |