Typedef enums.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
diff --git a/include/git2/remote.h b/include/git2/remote.h
index e7d06b6..6c70d7f 100644
--- a/include/git2/remote.h
+++ b/include/git2/remote.h
@@ -360,12 +360,12 @@ GIT_EXTERN(void) git_remote_set_callbacks(git_remote *remote, git_remote_callbac
*/
GIT_EXTERN(const git_transfer_progress *) git_remote_stats(git_remote *remote);
-enum {
+typedef enum {
GIT_REMOTE_DOWNLOAD_TAGS_UNSET,
GIT_REMOTE_DOWNLOAD_TAGS_NONE,
GIT_REMOTE_DOWNLOAD_TAGS_AUTO,
GIT_REMOTE_DOWNLOAD_TAGS_ALL
-};
+} git_remote_autotag_option_t;
/**
* Retrieve the tag auto-follow setting
@@ -373,7 +373,7 @@ enum {
* @param remote the remote to query
* @return the auto-follow setting
*/
-GIT_EXTERN(int) git_remote_autotag(git_remote *remote);
+GIT_EXTERN(git_remote_autotag_option_t) git_remote_autotag(git_remote *remote);
/**
* Set the tag auto-follow setting
@@ -381,7 +381,9 @@ GIT_EXTERN(int) git_remote_autotag(git_remote *remote);
* @param remote the remote to configure
* @param value a GIT_REMOTE_DOWNLOAD_TAGS value
*/
-GIT_EXTERN(void) git_remote_set_autotag(git_remote *remote, int value);
+GIT_EXTERN(void) git_remote_set_autotag(
+ git_remote *remote,
+ git_remote_autotag_option_t value);
/**
* Give the remote a new name
diff --git a/include/git2/repository.h b/include/git2/repository.h
index 29bb986..f1b55f4 100644
--- a/include/git2/repository.h
+++ b/include/git2/repository.h
@@ -98,7 +98,7 @@ GIT_EXTERN(int) git_repository_discover(
typedef enum {
GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0),
GIT_REPOSITORY_OPEN_CROSS_FS = (1 << 1),
-} git_repository_open_flags;
+} git_repository_open_flag_t;
/**
* Find and open a repository with extended controls.
@@ -182,14 +182,14 @@ GIT_EXTERN(int) git_repository_init(
* `init.templatedir` global config if not, or falling back on
* "/usr/share/git-core/templates" if it exists.
*/
-enum {
+typedef enum {
GIT_REPOSITORY_INIT_BARE = (1u << 0),
GIT_REPOSITORY_INIT_NO_REINIT = (1u << 1),
GIT_REPOSITORY_INIT_NO_DOTGIT_DIR = (1u << 2),
GIT_REPOSITORY_INIT_MKDIR = (1u << 3),
GIT_REPOSITORY_INIT_MKPATH = (1u << 4),
GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE = (1u << 5),
-};
+} git_repository_init_flag_t;
/**
* Mode options for `git_repository_init_ext`.
@@ -204,11 +204,11 @@ enum {
* * SHARED_ALL - Use "--shared=all" behavior, adding world readability.
* * Anything else - Set to custom value.
*/
-enum {
+typedef enum {
GIT_REPOSITORY_INIT_SHARED_UMASK = 0,
GIT_REPOSITORY_INIT_SHARED_GROUP = 0002775,
GIT_REPOSITORY_INIT_SHARED_ALL = 0002777,
-};
+} git_repository_init_mode_t;
/**
* Extended options structure for `git_repository_init_ext`.
diff --git a/src/remote.c b/src/remote.c
index 2f7c894..bdec3c1 100644
--- a/src/remote.c
+++ b/src/remote.c
@@ -967,12 +967,12 @@ const git_transfer_progress* git_remote_stats(git_remote *remote)
return &remote->stats;
}
-int git_remote_autotag(git_remote *remote)
+git_remote_autotag_option_t git_remote_autotag(git_remote *remote)
{
return remote->download_tags;
}
-void git_remote_set_autotag(git_remote *remote, int value)
+void git_remote_set_autotag(git_remote *remote, git_remote_autotag_option_t value)
{
remote->download_tags = value;
}
diff --git a/src/remote.h b/src/remote.h
index 840c9a9..448a9e9 100644
--- a/src/remote.h
+++ b/src/remote.h
@@ -27,10 +27,10 @@ struct git_remote {
git_repository *repo;
git_remote_callbacks callbacks;
git_transfer_progress stats;
- unsigned int need_pack:1,
- download_tags:2, /* There are four possible values */
- check_cert:1,
- update_fetchhead:1;
+ unsigned int need_pack;
+ git_remote_autotag_option_t download_tags;
+ unsigned int check_cert;
+ unsigned int update_fetchhead;
};
const char* git_remote__urlfordirection(struct git_remote *remote, int direction);