examples: general: extract function demonstrating config files
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
diff --git a/examples/general.c b/examples/general.c
index 036cd9e..26914a2 100644
--- a/examples/general.c
+++ b/examples/general.c
@@ -42,6 +42,8 @@
#include <git2.h>
#include <stdio.h>
+static void config_files(const char *repo_path);
+
// Almost all libgit2 functions return 0 on success or negative on error.
// This is not production quality error checking, but should be sufficient
// as an example.
@@ -498,22 +500,34 @@ int main (int argc, char** argv)
git_strarray_free(&ref_list);
- // ### Config Files
+ config_files(repo_path);
- // The [config API][config] allows you to list and updatee config values
- // in any of the accessible config file locations (system, global, local).
- //
- // [config]: http://libgit2.github.com/libgit2/#HEAD/group/config
+ // Finally, when you're done with the repository, you can free it as well.
+ git_repository_free(repo);
- printf("\n*Config Listing*\n");
+ return 0;
+}
+/**
+ * ### Config Files
+ *
+ * The [config API][config] allows you to list and updatee config values
+ * in any of the accessible config file locations (system, global, local).
+ *
+ * [config]: http://libgit2.github.com/libgit2/#HEAD/group/config
+ */
+static void config_files(const char *repo_path)
+{
const char *email;
+ char config_path[256];
int32_t j;
-
git_config *cfg;
- // Open a config object so we can read global values from it.
- char config_path[256];
+ printf("\n*Config Listing*\n");
+
+ /**
+ * Open a config object so we can read global values from it.
+ */
sprintf(config_path, "%s/config", repo_path);
check_error(git_config_open_ondisk(&cfg, config_path), "opening config");
@@ -522,9 +536,4 @@ int main (int argc, char** argv)
git_config_get_string(&email, cfg, "user.email");
printf("Email: %s\n", email);
-
- // Finally, when you're done with the repository, you can free it as well.
- git_repository_free(repo);
-
- return 0;
}