diff options
| author | Xavier Roche <xroche@users.noreply.github.com> | 2014-07-06 08:00:36 +0000 |
|---|---|---|
| committer | Xavier Roche <xroche@users.noreply.github.com> | 2014-07-06 08:00:36 +0000 |
| commit | 46a9b89dd3e97cc77a494f45a0d0fbef785daacb (patch) | |
| tree | b7f12eb57a9969a7ef1492e0770b9c9b29156201 /src/htscoremain.c | |
| parent | b6ba5073a553097eb7c456e4d2e9729a7e7ba782 (diff) | |
Added hts_has_stopped() flag, added some asserts
Diffstat (limited to 'src/htscoremain.c')
| -rw-r--r-- | src/htscoremain.c | 26 |
1 files changed, 25 insertions, 1 deletions
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 |
