From 46a9b89dd3e97cc77a494f45a0d0fbef785daacb Mon Sep 17 00:00:00 2001 From: Xavier Roche Date: Sun, 6 Jul 2014 08:00:36 +0000 Subject: Added hts_has_stopped() flag, added some asserts --- src/htscoremain.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'src/htscoremain.c') diff --git a/src/htscoremain.c b/src/htscoremain.c index 2cfeb63..df8cc1e 100644 --- a/src/htscoremain.c +++ b/src/htscoremain.c @@ -86,7 +86,11 @@ extern int IPV6_resolver; ptr += (int) (strlen(argv[0])+2); \ argc++ -#define htsmain_free() do { if (url != NULL) { free(url); } } while(0) +#define htsmain_free() do { \ + if (url != NULL) { \ + free(url); \ + } \ +} while(0) #define ensureUrlCapacity(url, urlsize, size) do { \ if (urlsize < size || url == NULL) { \ @@ -126,8 +130,28 @@ HTSEXT_API int hts_main(int argc, char **argv) { return ret; } +static int hts_main_internal(int argc, char **argv, httrackp * opt); + // Main, récupère les paramètres et appelle le robot HTSEXT_API int hts_main2(int argc, char **argv, httrackp * opt) { + int code; + + // Set ended state (3.48-14) + hts_mutexlock(&opt->state.lock); + opt->state.is_ended = 0; + hts_mutexrelease(&opt->state.lock); + + code = hts_main_internal(argc, argv, opt); + + // Set ended state (3.48-14) + hts_mutexlock(&opt->state.lock); + opt->state.is_ended = 1; + hts_mutexrelease(&opt->state.lock); + + return code; +} + +static int hts_main_internal(int argc, char **argv, httrackp * opt) { char **x_argv = NULL; // Patch pour argv et argc: en cas de récupération de ligne de commande char *x_argvblk = NULL; // (reprise ou update) int x_ptr = 0; // offset -- cgit v1.2.3