summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/git2/config.h94
-rw-r--r--include/git2/types.h2
-rw-r--r--src/config.c74
-rw-r--r--src/config.h2
-rw-r--r--src/config_file.c24
-rw-r--r--src/config_file.h14
-rw-r--r--src/remote.c4
-rw-r--r--src/repository.c4
-rw-r--r--src/submodule.c16
-rw-r--r--src/vector.h2
-rw-r--r--src/win32/posix_w32.c2
-rw-r--r--tests-clar/config/add.c4
-rw-r--r--tests-clar/config/write.c6
-rw-r--r--tests-clar/network/remoterename.c2
-rw-r--r--tests-clar/notes/notesref.c2
-rw-r--r--tests-clar/submodule/modify.c2
16 files changed, 135 insertions, 119 deletions
diff --git a/include/git2/config.h b/include/git2/config.h
index 8ec78e35c..af4d54044 100644
--- a/include/git2/config.h
+++ b/include/git2/config.h
@@ -41,23 +41,26 @@ typedef struct {
unsigned int level;
} git_config_entry;
+typedef int (*git_config_foreach_cb)(const git_config_entry *, void *);
+
+
/**
* Generic backend that implements the interface to
* access a configuration file
*/
-struct git_config_file {
+struct git_config_backend {
struct git_config *cfg;
/* Open means open the file/database and parse if necessary */
- int (*open)(struct git_config_file *, unsigned int level);
- int (*get)(struct git_config_file *, const char *key, const git_config_entry **entry);
- int (*get_multivar)(struct git_config_file *, const char *key, const char *regexp, int (*fn)(const git_config_entry *, void *), void *data);
- int (*set)(struct git_config_file *, const char *key, const char *value);
- int (*set_multivar)(git_config_file *cfg, const char *name, const char *regexp, const char *value);
- int (*del)(struct git_config_file *, const char *key);
- int (*foreach)(struct git_config_file *, const char *, int (*fn)(const git_config_entry *, void *), void *data);
- int (*refresh)(struct git_config_file *);
- void (*free)(struct git_config_file *);
+ int (*open)(struct git_config_backend *, unsigned int level);
+ int (*get)(const struct git_config_backend *, const char *key, const git_config_entry **entry);
+ int (*get_multivar)(struct git_config_backend *, const char *key, const char *regexp, git_config_foreach_cb callback, void *payload);
+ int (*set)(struct git_config_backend *, const char *key, const char *value);
+ int (*set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
+ int (*del)(struct git_config_backend *, const char *key);
+ int (*foreach)(struct git_config_backend *, const char *, git_config_foreach_cb callback, void *payload);
+ int (*refresh)(struct git_config_backend *);
+ void (*free)(struct git_config_backend *);
};
typedef enum {
@@ -87,11 +90,11 @@ typedef struct {
* This method will not guess the path to the xdg compatible
* config file (.config/git/config).
*
- * @param global_config_path Buffer of GIT_PATH_MAX length to store the path
- * @return 0 if a global configuration file has been
- * found. Its path will be stored in `buffer`.
+ * @param out Buffer to store the path in
+ * @param length size of the buffer in bytes
+ * @return 0 if a global configuration file has been found. Its path will be stored in `buffer`.
*/
-GIT_EXTERN(int) git_config_find_global(char *global_config_path, size_t length);
+GIT_EXTERN(int) git_config_find_global(char *out, size_t length);
/**
* Locate the path to the global xdg compatible configuration file
@@ -104,11 +107,12 @@ GIT_EXTERN(int) git_config_find_global(char *global_config_path, size_t length);
* may be used on any `git_config` call to load the
* xdg compatible configuration file.
*
- * @param xdg_config_path Buffer of GIT_PATH_MAX length to store the path
+ * @param out Buffer to store the path in
+ * @param length size of the buffer in bytes
* @return 0 if a xdg compatible configuration file has been
* found. Its path will be stored in `buffer`.
*/
-GIT_EXTERN(int) git_config_find_xdg(char *xdg_config_path, size_t length);
+GIT_EXTERN(int) git_config_find_xdg(char *out, size_t length);
/**
* Locate the path to the system configuration file
@@ -116,11 +120,12 @@ GIT_EXTERN(int) git_config_find_xdg(char *xdg_config_path, size_t length);
* If /etc/gitconfig doesn't exist, it will look for
* %PROGRAMFILES%\Git\etc\gitconfig.
- * @param system_config_path Buffer of GIT_PATH_MAX length to store the path
+ * @param global_config_path Buffer to store the path in
+ * @param length size of the buffer in bytes
* @return 0 if a system configuration file has been
* found. Its path will be stored in `buffer`.
*/
-GIT_EXTERN(int) git_config_find_system(char *system_config_path, size_t length);
+GIT_EXTERN(int) git_config_find_system(char *out, size_t length);
/**
* Open the global, XDG and system configuration files
@@ -163,9 +168,9 @@ GIT_EXTERN(int) git_config_new(git_config **out);
* @return 0 on success, GIT_EEXISTS when adding more than one file
* for a given priority level (and force_replace set to 0), or error code
*/
-GIT_EXTERN(int) git_config_add_file(
+GIT_EXTERN(int) git_config_add_backend(
git_config *cfg,
- git_config_file *file,
+ git_config_backend *file,
unsigned int level,
int force);
@@ -223,12 +228,15 @@ GIT_EXTERN(int) git_config_open_ondisk(git_config **out, const char *path);
* will return different config instances, but containing the same config_file
* instance.
*
+ * @param out The configuration instance to create
+ * @param parent Multi-level config to search for the given level
+ * @param level Configuration level to search for
* @return 0, GIT_ENOTFOUND if the passed level cannot be found in the
* multi-level parent config, or an error code
*/
GIT_EXTERN(int) git_config_open_level(
- git_config **cfg_out,
- git_config *cfg_parent,
+ git_config **out,
+ const git_config *parent,
unsigned int level);
/**
@@ -262,7 +270,10 @@ GIT_EXTERN(void) git_config_free(git_config *cfg);
* @param name the variable's name
* @return 0 or an error code
*/
-GIT_EXTERN(int) git_config_get_entry(const git_config_entry **out, git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_get_entry(
+ const git_config_entry **out,
+ const git_config *cfg,
+ const char *name);
/**
* Get the value of an integer config variable.
@@ -276,7 +287,7 @@ GIT_EXTERN(int) git_config_get_entry(const git_config_entry **out, git_config *c
* @param name the variable's name
* @return 0 or an error code
*/
-GIT_EXTERN(int) git_config_get_int32(int32_t *out, git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_get_int32(int32_t *out, const git_config *cfg, const char *name);
/**
* Get the value of a long integer config variable.
@@ -290,7 +301,7 @@ GIT_EXTERN(int) git_config_get_int32(int32_t *out, git_config *cfg, const char *
* @param name the variable's name
* @return 0 or an error code
*/
-GIT_EXTERN(int) git_config_get_int64(int64_t *out, git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_get_int64(int64_t *out, const git_config *cfg, const char *name);
/**
* Get the value of a boolean config variable.
@@ -307,7 +318,7 @@ GIT_EXTERN(int) git_config_get_int64(int64_t *out, git_config *cfg, const char *
* @param name the variable's name
* @return 0 or an error code
*/
-GIT_EXTERN(int) git_config_get_bool(int *out, git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_get_bool(int *out, const git_config *cfg, const char *name);
/**
* Get the value of a string config variable.
@@ -324,7 +335,7 @@ GIT_EXTERN(int) git_config_get_bool(int *out, git_config *cfg, const char *name)
* @param name the variable's name
* @return 0 or an error code
*/
-GIT_EXTERN(int) git_config_get_string(const char **out, git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_get_string(const char **out, const git_config *cfg, const char *name);
/**
* Get each value of a multivar.
@@ -338,7 +349,7 @@ GIT_EXTERN(int) git_config_get_string(const char **out, git_config *cfg, const c
* @param fn the function to be called on each value of the variable
* @param data opaque pointer to pass to the callback
*/
-GIT_EXTERN(int) git_config_get_multivar(git_config *cfg, const char *name, const char *regexp, int (*fn)(const git_config_entry *, void *), void *data);
+GIT_EXTERN(int) git_config_get_multivar(const git_config *cfg, const char *name, const char *regexp, git_config_foreach_cb callback, void *payload);
/**
* Set the value of an integer config variable in the config file
@@ -404,7 +415,7 @@ GIT_EXTERN(int) git_config_set_multivar(git_config *cfg, const char *name, const
* @param cfg the configuration
* @param name the variable to delete
*/
-GIT_EXTERN(int) git_config_delete(git_config *cfg, const char *name);
+GIT_EXTERN(int) git_config_delete_entry(git_config *cfg, const char *name);
/**
* Perform an operation on each config variable.
@@ -420,8 +431,8 @@ GIT_EXTERN(int) git_config_delete(git_config *cfg, const char *name);
* @return 0 on success, GIT_EUSER on non-zero callback, or error code
*/
GIT_EXTERN(int) git_config_foreach(
- git_config *cfg,
- int (*callback)(const git_config_entry *, void *payload),
+ const git_config *cfg,
+ git_config_foreach_cb callback,
void *payload);
/**
@@ -438,9 +449,9 @@ GIT_EXTERN(int) git_config_foreach(
* @return 0 or the return value of the callback which didn't return 0
*/
GIT_EXTERN(int) git_config_foreach_match(
- git_config *cfg,
+ const git_config *cfg,
const char *regexp,
- int (*callback)(const git_config_entry *entry, void *payload),
+ git_config_foreach_cb callback,
void *payload);
/**
@@ -477,7 +488,12 @@ GIT_EXTERN(int) git_config_foreach_match(
* @param map_n number of mapping objects in `maps`
* @return 0 on success, error code otherwise
*/
-GIT_EXTERN(int) git_config_get_mapped(int *out, git_config *cfg, const char *name, git_cvar_map *maps, size_t map_n);
+GIT_EXTERN(int) git_config_get_mapped(
+ int *out,
+ const git_config *cfg,
+ const char *name,
+ const git_cvar_map *maps,
+ size_t map_n);
/**
* Maps a string value to an integer constant
@@ -489,7 +505,7 @@ GIT_EXTERN(int) git_config_get_mapped(int *out, git_config *cfg, const char *nam
*/
GIT_EXTERN(int) git_config_lookup_map_value(
int *out,
- git_cvar_map *maps,
+ const git_cvar_map *maps,
size_t map_n,
const char *value);
@@ -506,7 +522,7 @@ GIT_EXTERN(int) git_config_lookup_map_value(
GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value);
/**
- * Parse a string value as an int64.
+ * Parse a string value as an int32.
*
* An optional value suffix of 'k', 'm', or 'g' will
* cause the value to be multiplied by 1024, 1048576,
@@ -515,10 +531,10 @@ GIT_EXTERN(int) git_config_parse_bool(int *out, const char *value);
* @param out place to store the result of the parsing
* @param value value to parse
*/
-GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
+GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value);
/**
- * Parse a string value as an int32.
+ * Parse a string value as an int64.
*
* An optional value suffix of 'k', 'm', or 'g' will
* cause the value to be multiplied by 1024, 1048576,
@@ -527,7 +543,7 @@ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
* @param out place to store the result of the parsing
* @param value value to parse
*/
-GIT_EXTERN(int) git_config_parse_int32(int32_t *out, const char *value);
+GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
/** @} */
diff --git a/include/git2/types.h b/include/git2/types.h
index 256296444..11bcf270f 100644
--- a/include/git2/types.h
+++ b/include/git2/types.h
@@ -129,7 +129,7 @@ typedef struct git_index git_index;
typedef struct git_config git_config;
/** Interface to access a configuration file */
-typedef struct git_config_file git_config_file;
+typedef struct git_config_backend git_config_backend;
/** Representation of a reference log entry */
typedef struct git_reflog_entry git_reflog_entry;
diff --git a/src/config.c b/src/config.c
index fc9ea65fe..5ee0d39ff 100644
--- a/src/config.c
+++ b/src/config.c
@@ -19,13 +19,13 @@
typedef struct {
git_refcount rc;
- git_config_file *file;
+ git_config_backend *file;
unsigned int level;
} file_internal;
static void file_internal_free(file_internal *internal)
{
- git_config_file *file;
+ git_config_backend *file;
file = internal->file;
file->free(file);
@@ -87,7 +87,7 @@ int git_config_add_file_ondisk(
unsigned int level,
int force)
{
- git_config_file *file = NULL;
+ git_config_backend *file = NULL;
int res;
assert(cfg && path);
@@ -100,7 +100,7 @@ int git_config_add_file_ondisk(
if (git_config_file__ondisk(&file, path) < 0)
return -1;
- if ((res = git_config_add_file(cfg, file, level, force)) < 0) {
+ if ((res = git_config_add_backend(cfg, file, level, force)) < 0) {
/*
* free manually; the file is not owned by the config
* instance yet and will not be freed on cleanup
@@ -132,7 +132,7 @@ int git_config_open_ondisk(git_config **out, const char *path)
static int find_internal_file_by_level(
file_internal **internal_out,
- git_config *cfg,
+ const git_config *cfg,
int level)
{
int pos = -1;
@@ -224,7 +224,7 @@ static int git_config__add_internal(
int git_config_open_level(
git_config **cfg_out,
- git_config *cfg_parent,
+ const git_config *cfg_parent,
unsigned int level)
{
git_config *cfg;
@@ -247,9 +247,9 @@ int git_config_open_level(
return 0;
}
-int git_config_add_file(
+int git_config_add_backend(
git_config *cfg,
- git_config_file *file,
+ git_config_backend *file,
unsigned int level,
int force)
{
@@ -284,7 +284,7 @@ int git_config_refresh(git_config *cfg)
for (i = 0; i < cfg->files.length && !error; ++i) {
file_internal *internal = git_vector_get(&cfg->files, i);
- git_config_file *file = internal->file;
+ git_config_backend *file = internal->file;
error = file->refresh(file);
}
@@ -296,34 +296,34 @@ int git_config_refresh(git_config *cfg)
*/
int git_config_foreach(
- git_config *cfg, int (*fn)(const git_config_entry *, void *), void *data)
+ const git_config *cfg, git_config_foreach_cb cb, void *payload)
{
- return git_config_foreach_match(cfg, NULL, fn, data);
+ return git_config_foreach_match(cfg, NULL, cb, payload);
}
int git_config_foreach_match(
- git_config *cfg,
+ const git_config *cfg,
const char *regexp,
- int (*fn)(const git_config_entry *, void *),
- void *data)
+ git_config_foreach_cb cb,
+ void *payload)
{
int ret = 0;
unsigned int i;
file_internal *internal;
- git_config_file *file;
+ git_config_backend *file;
for (i = 0; i < cfg->files.length && ret == 0; ++i) {
internal = git_vector_get(&cfg->files, i);
file = internal->file;
- ret = file->foreach(file, regexp, fn, data);
+ ret = file->foreach(file, regexp, cb, payload);
}
return ret;
}
-int git_config_delete(git_config *cfg, const char *name)
+int git_config_delete_entry(git_config *cfg, const char *name)
{
- git_config_file *file;
+ git_config_backend *file;
file_internal *internal;
internal = git_vector_get(&cfg->files, 0);
@@ -355,7 +355,7 @@ int git_config_set_bool(git_config *cfg, const char *name, int value)
int git_config_set_string(git_config *cfg, const char *name, const char *value)
{
- git_config_file *file;
+ git_config_backend *file;
file_internal *internal;
internal = git_vector_get(&cfg->files, 0);
@@ -369,9 +369,9 @@ int git_config_set_string(git_config *cfg, const char *name, const char *value)
***********/
int git_config_get_mapped(
int *out,
- git_config *cfg,
+ const git_config *cfg,
const char *name,
- git_cvar_map *maps,
+ const git_cvar_map *maps,
size_t map_n)
{
const char *value;
@@ -383,7 +383,7 @@ int git_config_get_mapped(
return git_config_lookup_map_value(out, maps, map_n, value);
}
-int git_config_get_int64(int64_t *out, git_config *cfg, const char *name)
+int git_config_get_int64(int64_t *out, const git_config *cfg, const char *name)
{
const char *value;
int ret;
@@ -394,7 +394,7 @@ int git_config_get_int64(int64_t *out, git_config *cfg, const char *name)
return git_config_parse_int64(out, value);
}
-int git_config_get_int32(int32_t *out, git_config *cfg, const char *name)
+int git_config_get_int32(int32_t *out, const git_config *cfg, const char *name)
{
const char *value;
int ret;
@@ -405,7 +405,7 @@ int git_config_get_int32(int32_t *out, git_config *cfg, const char *name)
return git_config_parse_int32(out, value);
}
-static int get_string_at_file(const char **out, git_config_file *file, const char *name)
+static int get_string_at_file(const char **out, const git_config_backend *file, const char *name)
{
const git_config_entry *entry;
int res;
@@ -417,7 +417,7 @@ static int get_string_at_file(const char **out, git_config_file *file, const cha
return res;
}
-static int get_string(const char **out, git_config *cfg, const char *name)
+static int get_string(const char **out, const git_config *cfg, const char *name)
{
file_internal *internal;
unsigned int i;
@@ -434,7 +434,7 @@ static int get_string(const char **out, git_config *cfg, const char *name)
return GIT_ENOTFOUND;
}
-int git_config_get_bool(int *out, git_config *cfg, const char *name)
+int git_config_get_bool(int *out, const git_config *cfg, const char *name)
{
const char *value = NULL;
int ret;
@@ -445,7 +445,7 @@ int git_config_get_bool(int *out, git_config *cfg, const char *name)
return git_config_parse_bool(out, value);
}
-int git_config_get_string(const char **out, git_config *cfg, const char *name)
+int git_config_get_string(const char **out, const git_config *cfg, const char *name)
{
int ret;
const char *str = NULL;
@@ -457,7 +457,7 @@ int git_config_get_string(const char **out, git_config *cfg, const char *name)
return 0;
}
-int git_config_get_entry(const git_config_entry **out, git_config *cfg, const char *name)
+int git_config_get_entry(const git_config_entry **out, const git_config *cfg, const char *name)
{
file_internal *internal;
unsigned int i;
@@ -467,7 +467,7 @@ int git_config_get_entry(const git_config_entry **out, git_config *cfg, const ch
*out = NULL;
git_vector_foreach(&cfg->files, i, internal) {
- git_config_file *file = internal->file;
+ git_config_backend *file = internal->file;
int ret = file->get(file, name, out);
if (ret != GIT_ENOTFOUND)
return ret;
@@ -476,11 +476,11 @@ int git_config_get_entry(const git_config_entry **out, git_config *cfg, const ch
return GIT_ENOTFOUND;
}
-int git_config_get_multivar(git_config *cfg, const char *name, const char *regexp,
- int (*fn)(const git_config_entry *entry, void *data), void *data)
+int git_config_get_multivar(const git_config *cfg, const char *name, const char *regexp,
+ git_config_foreach_cb cb, void *payload)
{
file_internal *internal;
- git_config_file *file;
+ git_config_backend *file;
int ret = GIT_ENOTFOUND;
size_t i;
@@ -493,7 +493,7 @@ int git_config_get_multivar(git_config *cfg, const char *name, const char *regex
for (i = cfg->files.length; i > 0; --i) {
internal = git_vector_get(&cfg->files, i - 1);
file = internal->file;
- ret = file->get_multivar(file, name, regexp, fn, data);
+ ret = file->get_multivar(file, name, regexp, cb, payload);
if (ret < 0 && ret != GIT_ENOTFOUND)
return ret;
}
@@ -503,7 +503,7 @@ int git_config_get_multivar(git_config *cfg, const char *name, const char *regex
int git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value)
{
- git_config_file *file;
+ git_config_backend *file;
file_internal *internal;
internal = git_vector_get(&cfg->files, 0);
@@ -634,7 +634,7 @@ int git_config_open_default(git_config **out)
***********/
int git_config_lookup_map_value(
int *out,
- git_cvar_map *maps,
+ const git_cvar_map *maps,
size_t map_n,
const char *value)
{
@@ -644,7 +644,7 @@ int git_config_lookup_map_value(
goto fail_parse;
for (i = 0; i < map_n; ++i) {
- git_cvar_map *m = maps + i;
+ const git_cvar_map *m = maps + i;
switch (m->cvar_type) {
case GIT_CVAR_FALSE:
@@ -790,7 +790,7 @@ static int rename_config_entries_cb(
return error;
}
- return git_config_delete(data->config, entry->name);
+ return git_config_delete_entry(data->config, entry->name);
}
int git_config_rename_section(
diff --git a/src/config.h b/src/config.h
index c7595ee79..ac8da6ff2 100644
--- a/src/config.h
+++ b/src/config.h
@@ -43,6 +43,6 @@ extern int git_config_rename_section(
* @param out the new backend
* @param path where the config file is located
*/
-extern int git_config_file__ondisk(struct git_config_file **out, const char *path);
+extern int git_config_file__ondisk(struct git_config_backend **out, const char *path);
#endif
diff --git a/src/config_file.c b/src/config_file.c
index 1209c53df..7cc812aa4 100644
--- a/src/config_file.c
+++ b/src/config_file.c
@@ -64,7 +64,7 @@ typedef struct cvar_t {
(iter) = (tmp))
typedef struct {
- git_config_file parent;
+ git_config_backend parent;
git_strmap *values;
@@ -149,7 +149,7 @@ static void free_vars(git_strmap *values)
git_strmap_free(values);
}
-static int config_open(git_config_file *cfg, unsigned int level)
+static int config_open(git_config_backend *cfg, unsigned int level)
{
int res;
diskfile_backend *b = (diskfile_backend *)cfg;
@@ -176,7 +176,7 @@ static int config_open(git_config_file *cfg, unsigned int level)
return res;
}
-static int config_refresh(git_config_file *cfg)
+static int config_refresh(git_config_backend *cfg)
{
int res, updated = 0;
diskfile_backend *b = (diskfile_backend *)cfg;
@@ -203,7 +203,7 @@ static int config_refresh(git_config_file *cfg)
return res;
}
-static void backend_free(git_config_file *_backend)
+static void backend_free(git_config_backend *_backend)
{
diskfile_backend *backend = (diskfile_backend *)_backend;
@@ -216,7 +216,7 @@ static void backend_free(git_config_file *_backend)
}
static int file_foreach(
- git_config_file *backend,
+ git_config_backend *backend,
const char *regexp,
int (*fn)(const git_config_entry *, void *),
void *data)
@@ -262,7 +262,7 @@ cleanup:
return result;
}
-static int config_set(git_config_file *cfg, const char *name, const char *value)
+static int config_set(git_config_backend *cfg, const char *name, const char *value)
{
cvar_t *var = NULL, *old_var;
diskfile_backend *b = (diskfile_backend *)cfg;
@@ -346,7 +346,7 @@ static int config_set(git_config_file *cfg, const char *name, const char *value)
/*
* Internal function that actually gets the value in string form
*/
-static int config_get(git_config_file *cfg, const char *name, const git_config_entry **out)
+static int config_get(const git_config_backend *cfg, const char *name, const git_config_entry **out)
{
diskfile_backend *b = (diskfile_backend *)cfg;
char *key;
@@ -368,7 +368,7 @@ static int config_get(git_config_file *cfg, const char *name, const git_config_e
}
static int config_get_multivar(
- git_config_file *cfg,
+ git_config_backend *cfg,
const char *name,
const char *regex_str,
int (*fn)(const git_config_entry *, void *),
@@ -431,7 +431,7 @@ static int config_get_multivar(
}
static int config_set_multivar(
- git_config_file *cfg, const char *name, const char *regexp, const char *value)
+ git_config_backend *cfg, const char *name, const char *regexp, const char *value)
{
int replaced = 0;
cvar_t *var, *newvar;
@@ -506,7 +506,7 @@ static int config_set_multivar(
return result;
}
-static int config_delete(git_config_file *cfg, const char *name)
+static int config_delete(git_config_backend *cfg, const char *name)
{
cvar_t *var;
diskfile_backend *b = (diskfile_backend *)cfg;
@@ -540,7 +540,7 @@ static int config_delete(git_config_file *cfg, const char *name)
return result;
}
-int git_config_file__ondisk(git_config_file **out, const char *path)
+int git_config_file__ondisk(git_config_backend **out, const char *path)
{
diskfile_backend *backend;
@@ -562,7 +562,7 @@ int git_config_file__ondisk(git_config_file **out, const char *path)
backend->parent.refresh = config_refresh;
backend->parent.free = backend_free;
- *out = (git_config_file *)backend;
+ *out = (git_config_backend *)backend;
return 0;
}
diff --git a/src/config_file.h b/src/config_file.h
index b500dd64f..a9671b68d 100644
--- a/src/config_file.h
+++ b/src/config_file.h
@@ -9,36 +9,36 @@
#include "git2/config.h"
-GIT_INLINE(int) git_config_file_open(git_config_file *cfg, unsigned int level)
+GIT_INLINE(int) git_config_file_open(git_config_backend *cfg, unsigned int level)
{
return cfg->open(cfg, level);
}
-GIT_INLINE(void) git_config_file_free(git_config_file *cfg)
+GIT_INLINE(void) git_config_file_free(git_config_backend *cfg)
{
cfg->free(cfg);
}
GIT_INLINE(int) git_config_file_get_string(
- const git_config_entry **out, git_config_file *cfg, const char *name)
+ const git_config_entry **out, git_config_backend *cfg, const char *name)
{
return cfg->get(cfg, name, out);
}
GIT_INLINE(int) git_config_file_set_string(
- git_config_file *cfg, const char *name, const char *value)
+ git_config_backend *cfg, const char *name, const char *value)
{
return cfg->set(cfg, name, value);
}
GIT_INLINE(int) git_config_file_delete(
- git_config_file *cfg, const char *name)
+ git_config_backend *cfg, const char *name)
{
return cfg->del(cfg, name);
}
GIT_INLINE(int) git_config_file_foreach(
- git_config_file *cfg,
+ git_config_backend *cfg,
int (*fn)(const git_config_entry *entry, void *data),
void *data)
{
@@ -46,7 +46,7 @@ GIT_INLINE(int) git_config_file_foreach(
}
GIT_INLINE(int) git_config_file_foreach_match(
- git_config_file *cfg,
+ git_config_backend *cfg,
const char *regexp,
int (*fn)(const git_config_entry *entry, void *data),
void *data)
diff --git a/src/remote.c b/src/remote.c
index 063e5186a..5035588a3 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -303,7 +303,7 @@ int git_remote_save(const git_remote *remote)
return -1;
}
} else {
- int error = git_config_delete(config, git_buf_cstr(&buf));
+ int error = git_config_delete_entry(config, git_buf_cstr(&buf));
if (error == GIT_ENOTFOUND) {
error = 0;
giterr_clear();
@@ -356,7 +356,7 @@ int git_remote_save(const git_remote *remote)
if (git_config_set_string(config, git_buf_cstr(&buf), "--no-tags") < 0)
goto on_error;
} else if (tagopt) {
- if (git_config_delete(config, git_buf_cstr(&buf)) < 0)
+ if (git_config_delete_entry(config, git_buf_cstr(&buf)) < 0)
goto on_error;
}
diff --git a/src/repository.c b/src/repository.c
index 1642f4570..efbb3a348 100644
--- a/src/repository.c
+++ b/src/repository.c
@@ -824,7 +824,7 @@ static int repo_init_config(
SET_REPO_CONFIG(string, "core.worktree", work_dir);
}
else if ((opts->flags & GIT_REPOSITORY_INIT__IS_REINIT) != 0) {
- if (git_config_delete(config, "core.worktree") < 0)
+ if (git_config_delete_entry(config, "core.worktree") < 0)
giterr_clear();
}
} else {
@@ -1356,7 +1356,7 @@ int git_repository_set_workdir(
/* passthrough error means gitlink is unnecessary */
if (error == GIT_PASSTHROUGH)
- error = git_config_delete(config, "core.worktree");
+ error = git_config_delete_entry(config, "core.worktree");
else if (!error)
error = git_config_set_string(config, "core.worktree", path.ptr);
diff --git a/src/submodule.c b/src/submodule.c
index 6093ff960..994ce316a 100644
--- a/src/submodule.c
+++ b/src/submodule.c
@@ -66,7 +66,7 @@ __KHASH_IMPL(
str_hash_no_trailing_slash, str_equal_no_trailing_slash);
static int load_submodule_config(git_repository *repo, bool force);
-static git_config_file *open_gitmodules(git_repository *, bool, const git_oid *);
+static git_config_backend *open_gitmodules(git_repository *, bool, const git_oid *);
static int lookup_head_remote(git_buf *url, git_repository *repo);
static int submodule_get(git_submodule **, git_repository *, const char *, const char *);
static void submodule_release(git_submodule *sm, int decr);
@@ -201,7 +201,7 @@ int git_submodule_add_setup(
int use_gitlink)
{
int error = 0;
- git_config_file *mods = NULL;
+ git_config_backend *mods = NULL;
git_submodule *sm;
git_buf name = GIT_BUF_INIT, real_url = GIT_BUF_INIT;
git_repository_init_options initopt;
@@ -412,7 +412,7 @@ cleanup:
int git_submodule_save(git_submodule *submodule)
{
int error = 0;
- git_config_file *mods;
+ git_config_backend *mods;
git_buf key = GIT_BUF_INIT;
assert(submodule);
@@ -717,7 +717,7 @@ int git_submodule_reload(git_submodule *submodule)
git_index *index;
int pos, error;
git_tree *head;
- git_config_file *mods;
+ git_config_backend *mods;
assert(submodule);
@@ -1187,14 +1187,14 @@ static int load_submodule_config_from_head(
return error;
}
-static git_config_file *open_gitmodules(
+static git_config_backend *open_gitmodules(
git_repository *repo,
bool okay_to_create,
const git_oid *gitmodules_oid)
{
const char *workdir = git_repository_workdir(repo);
git_buf path = GIT_BUF_INIT;
- git_config_file *mods = NULL;
+ git_config_backend *mods = NULL;
if (workdir != NULL) {
if (git_buf_joinpath(&path, workdir, GIT_MODULES_FILE) != 0)
@@ -1230,7 +1230,7 @@ static int load_submodule_config(git_repository *repo, bool force)
int error;
git_oid gitmodules_oid;
git_buf path = GIT_BUF_INIT;
- git_config_file *mods = NULL;
+ git_config_backend *mods = NULL;
if (repo->submodules && !force)
return 0;
@@ -1378,7 +1378,7 @@ static int submodule_update_config(
goto cleanup;
if (!value)
- error = git_config_delete(config, key.ptr);
+ error = git_config_delete_entry(config, key.ptr);
else
error = git_config_set_string(config, key.ptr, value);
diff --git a/src/vector.h b/src/vector.h
index 6d820b8fc..46129f17b 100644
--- a/src/vector.h
+++ b/src/vector.h
@@ -55,7 +55,7 @@ GIT_INLINE(int) git_vector_bsearch2(
return git_vector_bsearch3(NULL, v, cmp, key);
}
-GIT_INLINE(void *) git_vector_get(git_vector *v, size_t position)
+GIT_INLINE(void *) git_vector_get(const git_vector *v, size_t position)
{
return (position < v->length) ? v->contents[position] : NULL;
}
diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c
index 0efcaf597..e301290dc 100644
--- a/src/win32/posix_w32.c
+++ b/src/win32/posix_w32.c
@@ -537,7 +537,7 @@ int p_inet_pton(int af, const char* src, void* dst)
return -1;
}
- if (WSAStringToAddress(src, af, NULL, (struct sockaddr *) &sa, &srcsize) != 0)
+ if (WSAStringToAddress((LPSTR)src, af, NULL, (struct sockaddr *) &sa, &srcsize) != 0)
{
errno = WSAGetLastError();
return -1;
diff --git a/tests-clar/config/add.c b/tests-clar/config/add.c
index 9854fbb39..405f1e2c9 100644
--- a/tests-clar/config/add.c
+++ b/tests-clar/config/add.c
@@ -19,7 +19,7 @@ void test_config_add__to_existing_section(void)
cl_git_pass(git_config_set_int32(cfg, "empty.tmp", 5));
cl_git_pass(git_config_get_int32(&i, cfg, "empty.tmp"));
cl_assert(i == 5);
- cl_git_pass(git_config_delete(cfg, "empty.tmp"));
+ cl_git_pass(git_config_delete_entry(cfg, "empty.tmp"));
git_config_free(cfg);
}
@@ -32,6 +32,6 @@ void test_config_add__to_new_section(void)
cl_git_pass(git_config_set_int32(cfg, "section.tmp", 5));
cl_git_pass(git_config_get_int32(&i, cfg, "section.tmp"));
cl_assert(i == 5);
- cl_git_pass(git_config_delete(cfg, "section.tmp"));
+ cl_git_pass(git_config_delete_entry(cfg, "section.tmp"));
git_config_free(cfg);
}
diff --git a/tests-clar/config/write.c b/tests-clar/config/write.c
index d98d1dd53..411d40a02 100644
--- a/tests-clar/config/write.c
+++ b/tests-clar/config/write.c
@@ -62,7 +62,7 @@ void test_config_write__delete_value(void)
git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
- cl_git_pass(git_config_delete(cfg, "core.dummy"));
+ cl_git_pass(git_config_delete_entry(cfg, "core.dummy"));
git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
@@ -94,7 +94,7 @@ void test_config_write__delete_value_at_specific_level(void)
cl_git_pass(git_config_open_level(&cfg_specific, cfg, GIT_CONFIG_LEVEL_GLOBAL));
- cl_git_pass(git_config_delete(cfg_specific, "core.dummy2"));
+ cl_git_pass(git_config_delete_entry(cfg_specific, "core.dummy2"));
git_config_free(cfg);
cl_git_pass(git_config_open_ondisk(&cfg, "config15"));
@@ -125,7 +125,7 @@ void test_config_write__delete_inexistent(void)
git_config *cfg;
cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
- cl_assert(git_config_delete(cfg, "core.imaginary") == GIT_ENOTFOUND);
+ cl_assert(git_config_delete_entry(cfg, "core.imaginary") == GIT_ENOTFOUND);
git_config_free(cfg);
}
diff --git a/tests-clar/network/remoterename.c b/tests-clar/network/remoterename.c
index e9a7fc0cc..b14554572 100644
--- a/tests-clar/network/remoterename.c
+++ b/tests-clar/network/remoterename.c
@@ -64,7 +64,7 @@ void test_network_remoterename__renaming_a_remote_without_a_fetchrefspec_doesnt_
git_remote_free(_remote);
cl_git_pass(git_repository_config__weakptr(&config, _repo));
- cl_git_pass(git_config_delete(config, "remote.test.fetch"));
+ cl_git_pass(git_config_delete_entry(config, "remote.test.fetch"));
cl_git_pass(git_remote_load(&_remote, _repo, "test"));
diff --git a/tests-clar/notes/notesref.c b/tests-clar/notes/notesref.c
index 67c4003c6..d26056f4b 100644
--- a/tests-clar/notes/notesref.c
+++ b/tests-clar/notes/notesref.c
@@ -57,7 +57,7 @@ void test_notes_notesref__config_corenotesref(void)
cl_git_pass(git_note_default_ref(&default_ref, _repo));
cl_assert(!strcmp(default_ref, "refs/notes/mydefaultnotesref"));
- cl_git_pass(git_config_delete(_cfg, "core.notesRef"));
+ cl_git_pass(git_config_delete_entry(_cfg, "core.notesRef"));
cl_git_pass(git_note_default_ref(&default_ref, _repo));
cl_assert(!strcmp(default_ref, GIT_NOTES_DEFAULT_REF));
diff --git a/tests-clar/submodule/modify.c b/tests-clar/submodule/modify.c
index bfb8c8aaf..f6d41fdf2 100644
--- a/tests-clar/submodule/modify.c
+++ b/tests-clar/submodule/modify.c
@@ -76,7 +76,7 @@ void test_submodule_modify__add(void)
static int delete_one_config(const git_config_entry *entry, void *payload)
{
git_config *cfg = payload;
- return git_config_delete(cfg, entry->name);
+ return git_config_delete_entry(cfg, entry->name);
}
static int init_one_submodule(