From 1cbb45492da9a4c5351f3156b00286447a8b014a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Sun, 22 Sep 2019 16:19:13 +0800 Subject: Login and logout functions --- client.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'client.c') diff --git a/client.c b/client.c index 2213ebf..4e8c5df 100644 --- a/client.c +++ b/client.c @@ -1,7 +1,6 @@ #include -#include #include -#include +#include "login.h" #include "icclient/client.h" CURL *curl = NULL; @@ -17,13 +16,29 @@ bool icclient_init(const char *url) #ifdef DEBUG curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L); #endif - server_url = malloc(strlen(url) + 1); + size_t length = strlen(url); + bool prepend = !(bool)(url[length - 1] == '/'); + server_url = malloc(length + (size_t)prepend + 1); strcpy(server_url, url); + if (prepend) + strcat(server_url, "/"); } return (bool)curl; } +void icclient_login(const char *username, const char *password + , const char *successpage, const char *nextpage + , const char *failpage) +{ + login(username, password, NULL, "Login", successpage, nextpage, failpage); +} + +void icclient_logout() +{ + request(NULL, NULL, NULL, "%s", "logout"); +} + void icclient_cleanup() { if (curl) { -- cgit v1.2.3