summaryrefslogtreecommitdiff
path: root/src/misc.c
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-09-30 16:41:02 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-09-30 16:41:02 (GMT)
commitb20e1c5e13f3fd188ae43381eb8a01b4cacb46f2 (patch)
tree3c82c5c90c486bb001575bd456684869480ca35d /src/misc.c
parent203db57e57532aca5903e07cdd408759ed150fec (diff)
downloadpowder-b20e1c5e13f3fd188ae43381eb8a01b4cacb46f2.zip
powder-b20e1c5e13f3fd188ae43381eb8a01b4cacb46f2.tar.gz
Fix bug causing logins to be lost when The Game is closed.
Diffstat (limited to 'src/misc.c')
-rw-r--r--src/misc.c32
1 files changed, 18 insertions, 14 deletions
diff --git a/src/misc.c b/src/misc.c
index 7300b06..99db65e 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -127,19 +127,21 @@ void save_presets(int do_update)
cJSON_AddStringToObject(root, "Powder Toy Preferences", "Don't modify this file unless you know what you're doing. P.S: editing the admin/mod fields in your user info doesn't give you magical powers");
//User Info
- cJSON_AddItemToObject(root, "user", userobj=cJSON_CreateObject());
- cJSON_AddStringToObject(userobj, "name", svf_user);
- cJSON_AddStringToObject(userobj, "id", svf_user_id);
- cJSON_AddStringToObject(userobj, "session_id", svf_session_id);
- if(svf_admin){
- cJSON_AddTrueToObject(userobj, "admin");
- cJSON_AddFalseToObject(userobj, "mod");
- } else if(svf_mod){
- cJSON_AddFalseToObject(userobj, "admin");
- cJSON_AddTrueToObject(userobj, "mod");
- } else {
- cJSON_AddFalseToObject(userobj, "admin");
- cJSON_AddFalseToObject(userobj, "mod");
+ if(svf_login){
+ cJSON_AddItemToObject(root, "user", userobj=cJSON_CreateObject());
+ cJSON_AddStringToObject(userobj, "name", svf_user);
+ cJSON_AddStringToObject(userobj, "id", svf_user_id);
+ cJSON_AddStringToObject(userobj, "session_id", svf_session_id);
+ if(svf_admin){
+ cJSON_AddTrueToObject(userobj, "admin");
+ cJSON_AddFalseToObject(userobj, "mod");
+ } else if(svf_mod){
+ cJSON_AddFalseToObject(userobj, "admin");
+ cJSON_AddTrueToObject(userobj, "mod");
+ } else {
+ cJSON_AddFalseToObject(userobj, "admin");
+ cJSON_AddFalseToObject(userobj, "mod");
+ }
}
//Version Info
@@ -218,7 +220,8 @@ void load_presets(void)
//Read user data
userobj = cJSON_GetObjectItem(root, "user");
- if(userobj){
+ if(userobj){
+ svf_login = 1;
if((tmpobj = cJSON_GetObjectItem(userobj, "name")) && tmpobj->type == cJSON_String) strncpy(svf_user, tmpobj->valuestring, 63); else svf_user[0] = 0;
if((tmpobj = cJSON_GetObjectItem(userobj, "id")) && tmpobj->type == cJSON_String) strncpy(svf_user_id, tmpobj->valuestring, 63); else svf_user_id[0] = 0;
if((tmpobj = cJSON_GetObjectItem(userobj, "session_id")) && tmpobj->type == cJSON_String) strncpy(svf_session_id, tmpobj->valuestring, 63); else svf_session_id[0] = 0;
@@ -233,6 +236,7 @@ void load_presets(void)
svf_mod = 0;
}
} else {
+ svf_login = 0;
svf_user[0] = 0;
svf_user_id[0] = 0;
svf_session_id[0] = 0;