git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 3/5] http.h: make fill_active_slots a function pointer

From
SVSven Verdoolaege <skimo@liacs.nl>
Date
May 4, 2007, 10:56 UTC
Message-ID
<11782762032846-git-send-email-skimo@liacs.nl>
In-Reply-To
<11782762032207-git-send-email-skimo@liacs.nl>
From: Sven Verdoolaege <skimo@kotnet.org>

This allows us to use the methods provided by http.c from within libgit, in particular config.c.

Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>
---
 http-fetch.c |    5 ++++-
 http-push.c  |    5 ++++-
 http.h       |    2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/http-fetch.c b/http-fetch.c
index 09baedc..53fb2a9 100644
--- a/http-fetch.c
+++ b/http-fetch.c
@@ -317,7 +317,7 @@ static void release_object_request(struct object_request *obj_req)
 }
 
 #ifdef USE_CURL_MULTI
-void fill_active_slots(void)
+static void fetch_fill_active_slots(void)
 {
 	struct object_request *obj_req = object_queue_head;
 	struct active_request_slot *slot = active_queue_head;
@@ -1031,6 +1031,9 @@ int main(int argc, const char **argv)
 	}
 	url = argv[arg];
 
+#ifdef USE_CURL_MULTI
+	fill_active_slots = fetch_fill_active_slots;
+#endif
 	http_init();
 
 	no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:");
diff --git a/http-push.c b/http-push.c
index e3f7675..d4c850b 100644
--- a/http-push.c
+++ b/http-push.c
@@ -794,7 +794,7 @@ static void finish_request(struct transfer_request *request)
 }
 
 #ifdef USE_CURL_MULTI
-void fill_active_slots(void)
+static void push_fill_active_slots(void)
 {
 	struct transfer_request *request = request_queue_head;
 	struct transfer_request *next;
@@ -2355,6 +2355,9 @@ int main(int argc, char **argv)
 
 	memset(remote_dir_exists, -1, 256);
 
+#ifdef USE_CURL_MULTI
+	fill_active_slots = push_fill_active_slots;
+#endif
 	http_init();
 
 	no_pragma_header = curl_slist_append(no_pragma_header, "Pragma:");
diff --git a/http.h b/http.h
index 69b6b66..7a41cde 100644
--- a/http.h
+++ b/http.h
@@ -69,7 +69,7 @@ extern void finish_all_active_slots(void);
 extern void release_active_slot(struct active_request_slot *slot);
 
 #ifdef USE_CURL_MULTI
-extern void fill_active_slots(void);
+extern void (*fill_active_slots)(void);
 extern void step_active_slots(void);
 #endif
 
-- 
1.5.2.rc1.25.g889f-dirty
Previous: Frank LichtenheldNext: Sven Verdoolaege
Message 7 of 14 in “Initial support for cloning submodules”
  1. Sven VerdoolaegeMay 4, 2007
  2. 1/5 Add dump-configSven Verdoolaege, May 4, 2007
  3. 2/5 git-config: add --remote option for reading config from remote repoSven Verdoolaege, May 4, 2007
  4. Frank LichtenheldMay 4, 2007
  5. Sven VerdoolaegeMay 4, 2007
  6. Frank LichtenheldMay 4, 2007
  7. 3/5 http.h: make fill_active_slots a function pointerSven Verdoolaege, May 4, 2007
  8. 4/5 git-config: read remote config files over HTTPSven Verdoolaege, May 4, 2007
  9. 5/5 git-clone: add --submodules for cloning submodulesSven Verdoolaege, May 4, 2007
  10. Junio C HamanoMay 4, 2007
  11. Sven VerdoolaegeMay 5, 2007
  12. Junio C HamanoMay 5, 2007
  13. Alon ZivMay 6, 2007
  14. Sven VerdoolaegeMay 18, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.