diff options
author | Edward Thomson <ethomson@edwardthomson.com> | 2013-01-23 17:38:00 -0600 |
---|---|---|
committer | Edward Thomson <ethomson@edwardthomson.com> | 2013-01-23 17:38:00 -0600 |
commit | c27e211219574324ef9eaf7980b04e5e08189169 (patch) | |
tree | eefc9714fbc603383a438458a3c280905ae81444 /examples/network | |
parent | 0d52cb4aea2e0af1b8a4a8557e26c9edf85c96db (diff) | |
download | libgit2-c27e211219574324ef9eaf7980b04e5e08189169.tar.gz |
update examples to work on windows
Diffstat (limited to 'examples/network')
-rw-r--r-- | examples/network/clone.c | 8 | ||||
-rw-r--r-- | examples/network/fetch.c | 15 | ||||
-rw-r--r-- | examples/network/index-pack.c | 16 |
3 files changed, 31 insertions, 8 deletions
diff --git a/examples/network/clone.c b/examples/network/clone.c index 9b323ff73..63072eea0 100644 --- a/examples/network/clone.c +++ b/examples/network/clone.c @@ -4,8 +4,10 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <pthread.h> -#include <unistd.h> +#ifndef _WIN32 +# include <pthread.h> +# include <unistd.h> +#endif /* Shamelessly borrowed from http://stackoverflow.com/questions/3417837/ */ #ifdef UNUSED @@ -94,7 +96,7 @@ int do_clone(git_repository *repo, int argc, char **argv) } // Set up options - checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE; + checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE_CREATE; checkout_opts.progress_cb = checkout_progress; checkout_opts.progress_payload = &pd; clone_opts.checkout_opts = checkout_opts; diff --git a/examples/network/fetch.c b/examples/network/fetch.c index 416788b63..d5caad4de 100644 --- a/examples/network/fetch.c +++ b/examples/network/fetch.c @@ -3,8 +3,10 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <pthread.h> -#include <unistd.h> +#ifndef _WIN32 +# include <pthread.h> +# include <unistd.h> +#endif struct dl_data { git_remote *remote; @@ -68,9 +70,11 @@ int fetch(git_repository *repo, int argc, char **argv) { git_remote *remote = NULL; const git_transfer_progress *stats; - pthread_t worker; struct dl_data data; git_remote_callbacks callbacks = GIT_REMOTE_CALLBACKS_INIT; +#ifndef _WIN32 + pthread_t worker; +#endif argc = argc; // Figure out whether it's a named remote or a URL @@ -92,6 +96,9 @@ int fetch(git_repository *repo, int argc, char **argv) stats = git_remote_stats(remote); +#ifdef _WIN32 + download(&data); +#else pthread_create(&worker, NULL, download, &data); // Loop while the worker thread is still running. Here we show processed @@ -111,6 +118,8 @@ int fetch(git_repository *repo, int argc, char **argv) goto on_error; pthread_join(worker, NULL); +#endif + printf("\rReceived %d/%d objects in %zu bytes\n", stats->indexed_objects, stats->total_objects, stats->received_bytes); diff --git a/examples/network/index-pack.c b/examples/network/index-pack.c index 4d3dc84d6..3fc4f3288 100644 --- a/examples/network/index-pack.c +++ b/examples/network/index-pack.c @@ -5,7 +5,18 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include <unistd.h> +#ifdef _WIN32 +# include <io.h> +# include <Windows.h> + +# define open _open +# define read _read +# define close _close + +#define ssize_t unsigned int +#else +# include <unistd.h> +#endif #include "common.h" // This could be run in the main loop whilst the application waits for @@ -22,8 +33,9 @@ int index_pack(git_repository *repo, int argc, char **argv) { git_indexer_stream *idx; git_transfer_progress stats = {0, 0}; - int error, fd; + int error; char hash[GIT_OID_HEXSZ + 1] = {0}; + int fd; ssize_t read_bytes; char buf[512]; |