wcsession *WCC = WC;
char buf[SIZ];
StrBuf *FloorDiv;
+ StrBuf *Language = NULL;
WC->logged_in = 1;
WC->need_vali = extract_int(&buf[4], 2);
extract_token(WC->cs_inet_email, &buf[4], 3, '|', sizeof WC->cs_inet_email);
}
-
+ if (havebstr("language"))
+ set_preference("language", NewStrBufDup(SBSTR("language")), 1);
+ else {
+ get_preference("language", &Language);
+ if (Language != NULL) {
+ set_selected_language(ChrPtr(Language));
+ go_selected_language(); /* set locale */
+ }
+ }
get_preference("floordiv_expanded", &FloorDiv);
WC->floordiv_expanded = FloorDiv;
}
}
}
if (WCC->logged_in) {
- set_preference("language", NewStrBufPlain(bstr("language"), -1), 1);
if (WCC->need_regi) {
display_reg(1);
} else if (WCC->need_vali) {
index[a] = arg[a-1];
sizes[a] = sizeof arg[a-1];
}
-/*/// index[9] = &foo; todo */
nBackDots = 0;
nEmpty = 0;
for ( a = 0; a < 9; ++a)
}
}
}
-/*///////todo: restore language in this case */
+
/*
* Functions which can be performed without logging in
*/
serv_printf("PASS %s", ChrPtr(c_password));
StrBuf_ServGetln(Buf);
if (GetServerStatus(Buf, NULL) == 2) {
- StrBuf *Lang;
become_logged_in(c_username, c_password, Buf);
- if (get_preference("language", &Lang)) {
- set_selected_language(ChrPtr(Lang));
- go_selected_language(); /* set locale */
- }
get_preference("default_header_charset", &WCC->DefaultCharset);
}
}