music.c: cosmetix
[k8lowj.git] / src / liblj / getchallenge.c
blob825812adb315feba70c988754e682395c5132d17
1 /* liblivejournal - a client library for LiveJournal.
2 * Copyright (C) 2003-2004 Evan Martin <martine@danga.com>
4 * vim: tabstop=4 shiftwidth=4 noexpandtab :
5 */
7 #include <glib.h>
8 #include <stdlib.h> /* atoi */
10 #include "liblj/getchallenge.h"
12 static void
13 parse_result(LJVerb *verb) {
14 LJGetChallenge *getchallenge = (LJGetChallenge*)verb;
15 char *authscheme;
17 authscheme = lj_result_get(verb->result, "auth_scheme");
18 if (!authscheme) {
19 getchallenge->authscheme = LJ_AUTH_SCHEME_NONE;
20 return;
23 if (g_ascii_strcasecmp(authscheme, "c0") == 0) {
24 getchallenge->authscheme = LJ_AUTH_SCHEME_C0;
25 getchallenge->challenge = g_strdup(
26 lj_result_get(verb->result, "challenge"));
27 } else {
28 getchallenge->authscheme = LJ_AUTH_SCHEME_OTHER;
29 getchallenge->authschemestr = g_strdup(authscheme);
33 LJGetChallenge*
34 lj_getchallenge_new(LJUser *user) {
35 LJGetChallenge *getchallenge = g_new0(LJGetChallenge, 1);
36 lj_verb_init((LJVerb*)getchallenge, user, "getchallenge", TRUE, parse_result);
37 return getchallenge;
40 void
41 lj_getchallenge_free(LJGetChallenge *getchallenge) {
42 lj_verb_free_contents((LJVerb*)getchallenge);
43 g_free(getchallenge->authschemestr);
44 g_free(getchallenge->challenge);
45 g_free(getchallenge);