diff options
-rw-r--r-- | admin.c | 5 | ||||
-rw-r--r-- | interchange/admin.h | 3 | ||||
-rw-r--r-- | interchange/member.h | 3 | ||||
-rw-r--r-- | login.c | 2 | ||||
-rw-r--r-- | login.h | 8 | ||||
-rw-r--r-- | member.c | 7 |
6 files changed, 17 insertions, 11 deletions
@@ -7,10 +7,11 @@ #include "interchange/admin.h" void interchange_admin_login(const char *username, const char *password, - const char *failpage, void (*handler)(interchange_response *), + const char *nextpage, const char *failpage, + void (*handler)(interchange_response *), void (*callback)(struct interchange_admin *)) { - login(username, password, NULL, "MMLogin", failpage, handler, + login(username, password, NULL, "MMLogin", nextpage, failpage, handler, (void (*)(void *))callback); } diff --git a/interchange/admin.h b/interchange/admin.h index 50a0957..d50a1e4 100644 --- a/interchange/admin.h +++ b/interchange/admin.h @@ -22,7 +22,8 @@ extern "C" { #endif void interchange_admin_login(const char *username, const char *password, - const char *failpage, void (*handler)(interchange_response *), + const char *nextpage, const char *failpage, + void (*handler)(interchange_response *), void (*callback)(struct interchange_admin *)); void interchange_admin_new_admin(const char *username, const char *password, const char *name, bool super, enum interchange_admin_group group, void (*handler)(interchange_response *)); diff --git a/interchange/member.h b/interchange/member.h index 0611861..e18b752 100644 --- a/interchange/member.h +++ b/interchange/member.h @@ -68,7 +68,8 @@ void interchange_member_newaccount(const char *username, const char *password, void (*handler)(interchange_response *), void (*callback)(struct interchange_member *)); void interchange_member_login(const char *username, const char *password, - const char *failpage, void (*handler)(interchange_response *), + const char *nextpage, const char *failpage, + void (*handler)(interchange_response *), void (*callback)(struct interchange_member *)); /*! @@ -1,5 +1,5 @@ #include "login.h" extern inline void login(const char *, const char *, const char *, const char *, - const char *, void (*)(interchange_response *), + const char *, const char *, void (*)(interchange_response *), void (*)(void *)); @@ -4,15 +4,17 @@ #include "request.h" static inline void login(const char *username, const char *password, - const char *verify, const char *click, const char *failpage, - void (*handler)(interchange_response *), + const char *verify, const char *click, const char *nextpage, + const char *failpage, void (*handler)(interchange_response *), void (*callback)(void *)) { - request(handler, callback, &(struct body){ 4 + (failpage ? 1 : 0), { + request(handler, callback, &(struct body){ 4 + (nextpage ? 1 : 0) + + (failpage ? 1 : 0), { { "mv_username", username }, { "mv_password", password }, { "mv_verify", verify }, { "mv_click", click }, + { "mv_nextpage", nextpage }, { "mv_failpage", failpage }, }}, "%s", "process"); } @@ -7,15 +7,16 @@ void interchange_member_newaccount(const char *username, const char *password, void (*handler)(interchange_response *), void (*callback)(struct interchange_member *)) { - login(username, password, verify, "NewAccount", failpage, handler, + login(username, password, verify, "NewAccount", NULL, failpage, handler, (void (*)(void *))callback); } void interchange_member_login(const char *username, const char *password, - const char *failpage, void (*handler)(interchange_response *), + const char *nextpage, const char *failpage, + void (*handler)(interchange_response *), void (*callback)(struct interchange_member *)) { - login(username, password, NULL, "Login", failpage, handler, + login(username, password, NULL, "Login", nextpage, failpage, handler, (void (*)(void *))callback); } |