Add moving operation and fix prototype problem

This commit is contained in:
oupson 2021-11-02 09:45:05 +01:00
parent f0e19a1f1c
commit 8e311c221c
6 changed files with 17 additions and 13 deletions

View File

@ -5,6 +5,6 @@
#include <auth_univ_orleans/result.h>
#include <curl/curl.h>
result_t* auth_univ_get_session_token(char *username, char *password);
result_t *auth_univ_get_session_token(char *username, char *password);
int auth_univ_orleans_login(CURL *handle, char *username, char *password);
#endif

View File

@ -31,9 +31,9 @@ char *cookie_hostname(cookie_t *cookie);
bool cookie_include_subdomains(cookie_t *cookie);
char *cookie_path(cookie_t *cookie);
bool cookie_secure(cookie_t *cookie);
int cookie_expire(cookie_t *cookie);
long cookie_expire(cookie_t *cookie);
char *cookie_name(cookie_t *cookie);
char *cookie_value(cookie_t *cookie);
void cookie_free(cookie_t *cookie);
#endif
#endif

View File

@ -1,6 +1,7 @@
#ifndef ERROR_H
#define ERROR_H
#include "auth_univ_orleans/cookie_iterator.h"
typedef struct result result_t;
#include <auth_univ_orleans/auth_univ_orleans.h>
@ -20,9 +21,9 @@ struct result {
union inner_result inner;
};
enum result_type get_result_type(result_t *result);
cookie_iterator_t *get_result_ok(result_t *result);
cookie_iterator_t *move_result_ok(result_t *result);
const char *get_result_err(result_t *result);
void result_free(result_t *result);
#endif
#endif

View File

@ -144,8 +144,8 @@ bool cookie_include_subdomains(cookie_t *cookie) {
}
char *cookie_path(cookie_t *cookie) { return cookie->path; }
bool cookie_secure(cookie_t *cookie) { return cookie->secure; }
int cookie_expire(cookie_t *cookie) { return cookie->expire; }
long cookie_expire(cookie_t *cookie) { return cookie->expire; }
char *cookie_name(cookie_t *cookie) { return cookie->name; }
char *cookie_value(cookie_t *cookie) { return cookie->value; }
void cookie_free(cookie_t *cookie) { free(cookie); }
void cookie_free(cookie_t *cookie) { free(cookie); }

View File

@ -6,10 +6,14 @@ enum result_type get_result_type(result_t *result) { return result->type; }
cookie_iterator_t *get_result_ok(result_t *result) { return result->inner.ok; }
const char *get_result_err(result_t *result) {
return result->inner.error;
cookie_iterator_t *move_result_ok(result_t *result) {
cookie_iterator_t *res = result->inner.ok;
result->inner.ok = NULL;
return res;
}
const char *get_result_err(result_t *result) { return result->inner.error; }
void result_free(result_t *result) {
if (result->type == OK) {
if (result->inner.ok != NULL) {
@ -21,4 +25,4 @@ void result_free(result_t *result) {
result->inner.error = NULL;
}
free(result);
}
}

View File

@ -24,7 +24,7 @@ int main(void) {
"\tinclude subdomains : %d\n"
"\tpath : %s\n"
"\tsecure : %d\n"
"\texpire : %d\n"
"\texpire : %ld\n"
"\tvalue: %s\n",
cookie_name(cookie), cookie_hostname(cookie),
cookie_include_subdomains(cookie), cookie_path(cookie),
@ -32,10 +32,9 @@ int main(void) {
cookie_value(cookie));
}
} else {
fprintf(stderr, "error : %s\n", get_result_err(res));
}
result_free(res);
}
}