repo: Add _ostree_repo_get_remote_option_inherit()

Split out from ostree-repo-pull.c.  Still private but more reusable now.
This commit is contained in:
Matthew Barnes authored and Giuseppe Scrivano committed 2015-06-26 11:02:24 +02:00
1 parent b02777accd
commit e592faec43
3 files changed
+43 -30

No files matched your search

+35
View File
@@ -355,6 +355,41 @@ _ostree_repo_get_remote_boolean_option (OstreeRepo *self,
return ret;
}
gboolean
_ostree_repo_get_remote_option_inherit (OstreeRepo *self,
const char *remote_name,
const char *option_name,
char **out_value,
GError **error)
{
OstreeRepo *parent = ostree_repo_get_parent (self);
g_autofree char *value = NULL;
gboolean ret = FALSE;
if (!_ostree_repo_get_remote_option (self,
remote_name, option_name,
NULL, &value, error))
goto out;
if (value == NULL && parent != NULL)
{
if (!_ostree_repo_get_remote_option_inherit (parent,
remote_name, option_name,
&value, error))
goto out;
}
/* Success here just means no error occurred during lookup,
* not necessarily that we found a value for the option name. */
if (out_value != NULL)
*out_value = g_steal_pointer (&value);
ret = TRUE;
out:
return ret;
}
OstreeFetcher *
_ostree_repo_remote_new_fetcher (OstreeRepo *self,
const char *remote_name,