diff options
Diffstat (limited to 'libtest/callbacks-example-filename2.c')
-rwxr-xr-x | libtest/callbacks-example-filename2.c | 66 |
1 files changed, 40 insertions, 26 deletions
diff --git a/libtest/callbacks-example-filename2.c b/libtest/callbacks-example-filename2.c index 2683b7b..fe2d964 100755 --- a/libtest/callbacks-example-filename2.c +++ b/libtest/callbacks-example-filename2.c @@ -21,11 +21,14 @@ #include "htsdefines.h" /* Function definitions */ -static int mysavename(t_hts_callbackarg *carg, httrackp *opt, const char* adr_complete, const char* fil_complete, const char* referer_adr, const char* referer_fil, char* save); -static int myend(t_hts_callbackarg *carg, httrackp *opt); +static int mysavename(t_hts_callbackarg * carg, httrackp * opt, + const char *adr_complete, const char *fil_complete, + const char *referer_adr, const char *referer_fil, + char *save); +static int myend(t_hts_callbackarg * carg, httrackp * opt); /* external functions */ -EXTERNAL_FUNCTION int hts_plug(httrackp *opt, const char* argv); +EXTERNAL_FUNCTION int hts_plug(httrackp * opt, const char *argv); /* TOLOWER */ #define TOLOWER_(a) (a >= 'A' && a <= 'Z') ? (a + ('a' - 'A')) : a @@ -45,41 +48,46 @@ typedef struct t_my_userdef { /* module entry point */ -EXTERNAL_FUNCTION int hts_plug(httrackp *opt, const char* argv) { +EXTERNAL_FUNCTION int hts_plug(httrackp * opt, const char *argv) { const char *arg = strchr(argv, ','); + if (arg != NULL) arg++; /* Check args */ if (arg == NULL || *arg == '\0' || strchr(arg, ',') == NULL) { fprintf(stderr, "** callback error: arguments expected or bad arguments\n"); - fprintf(stderr, "usage: httrack --wrapper save-name=callback:mysavename,string1,string2\n"); - fprintf(stderr, "example: httrack --wrapper save-name=callback:mysavename,foo,bar\n"); - return 0; /* failed */ + fprintf(stderr, + "usage: httrack --wrapper save-name=callback:mysavename,string1,string2\n"); + fprintf(stderr, + "example: httrack --wrapper save-name=callback:mysavename,foo,bar\n"); + return 0; /* failed */ } else { char *pos = strchr(arg, ','); - t_my_userdef *userdef = (t_my_userdef*) malloc(sizeof(t_my_userdef)); - char * const string1 = userdef->string1; - char * const string2 = userdef->string2; + t_my_userdef *userdef = (t_my_userdef *) malloc(sizeof(t_my_userdef)); + char *const string1 = userdef->string1; + char *const string2 = userdef->string2; /* Split args */ fprintf(stderr, "** info: wrapper_init(%s) called!\n", arg); - fprintf(stderr, "** callback example: changing destination filename word by another one\n"); + fprintf(stderr, + "** callback example: changing destination filename word by another one\n"); string1[0] = string1[1] = '\0'; strncat(string1, arg, pos - arg); strcpy(string2, pos + 1); - fprintf(stderr, "** callback info: will replace %s by %s in filenames!\n", string1, string2); + fprintf(stderr, "** callback info: will replace %s by %s in filenames!\n", + string1, string2); /* Plug callback functions */ CHAIN_FUNCTION(opt, savename, mysavename, userdef); CHAIN_FUNCTION(opt, end, myend, userdef); } - return 1; /* success */ + return 1; /* success */ } -static int myend(t_hts_callbackarg *carg, httrackp *opt) { - t_my_userdef *userdef = (t_my_userdef*) CALLBACKARG_USERDEF(carg); +static int myend(t_hts_callbackarg * carg, httrackp * opt) { + t_my_userdef *userdef = (t_my_userdef *) CALLBACKARG_USERDEF(carg); fprintf(stderr, "** info: wrapper_exit() called!\n"); if (userdef != NULL) { @@ -89,23 +97,29 @@ static int myend(t_hts_callbackarg *carg, httrackp *opt) { /* Call parent functions if multiple callbacks are chained. */ if (CALLBACKARG_PREV_FUN(carg, end) != NULL) { - return CALLBACKARG_PREV_FUN(carg, end)(CALLBACKARG_PREV_CARG(carg), opt); + return CALLBACKARG_PREV_FUN(carg, end) (CALLBACKARG_PREV_CARG(carg), opt); } - return 1; /* success */ + return 1; /* success */ } -static int mysavename(t_hts_callbackarg *carg, httrackp *opt, const char* adr_complete, const char* fil_complete, const char* referer_adr, const char* referer_fil, char* save) { - t_my_userdef *userdef = (t_my_userdef*) CALLBACKARG_USERDEF(carg); - char * const string1 = userdef->string1; - char * const string2 = userdef->string2; +static int mysavename(t_hts_callbackarg * carg, httrackp * opt, + const char *adr_complete, const char *fil_complete, + const char *referer_adr, const char *referer_fil, + char *save) { + t_my_userdef *userdef = (t_my_userdef *) CALLBACKARG_USERDEF(carg); + char *const string1 = userdef->string1; + char *const string2 = userdef->string2; + /* */ char *buff, *a, *b; /* Call parent functions if multiple callbacks are chained. */ if (CALLBACKARG_PREV_FUN(carg, savename) != NULL) { - if (!CALLBACKARG_PREV_FUN(carg, savename)(CALLBACKARG_PREV_CARG(carg), opt, adr_complete, fil_complete, referer_adr, referer_fil, save)) { - return 0; /* Abort */ + if (!CALLBACKARG_PREV_FUN(carg, savename) + (CALLBACKARG_PREV_CARG(carg), opt, adr_complete, fil_complete, + referer_adr, referer_fil, save)) { + return 0; /* Abort */ } } @@ -113,9 +127,9 @@ static int mysavename(t_hts_callbackarg *carg, httrackp *opt, const char* adr_co buff = strdup(save); a = buff; b = save; - *b = '\0'; /* the "save" variable points to a buffer with "sufficient" space */ + *b = '\0'; /* the "save" variable points to a buffer with "sufficient" space */ while(*a) { - if (strncmp(a, string1, (int)strlen(string1)) == 0) { + if (strncmp(a, string1, (int) strlen(string1)) == 0) { strcat(b, string2); b += strlen(b); a += strlen(string1); @@ -126,5 +140,5 @@ static int mysavename(t_hts_callbackarg *carg, httrackp *opt, const char* adr_co } free(buff); - return 1; /* success */ + return 1; /* success */ } |