Skip to content
Snippets Groups Projects
Verified Commit 0a3c8abe authored by jD91mZM2's avatar jD91mZM2
Browse files

Fix setlocale return value

parent 996445a6
No related branches found
No related tags found
1 merge request!135Add empty locale functions
......@@ -9,6 +9,7 @@ use core::ptr;
use platform::types::*;
const EMPTY_PTR: *const c_char = "\0" as *const _ as *const c_char;
static mut C_LOCALE: [c_char; 2] = [b'C' as c_char, 0];
#[repr(C)]
#[no_mangle]
......@@ -61,10 +62,11 @@ pub extern "C" fn localeconv() -> *const lconv {
}
#[no_mangle]
pub extern "C" fn setlocale(_option: c_int, val: *const c_char) -> *const c_char {
pub unsafe extern "C" fn setlocale(_option: c_int, val: *const c_char) -> *mut c_char {
if val.is_null() {
return "C\0".as_ptr() as *const c_char;
// Can't use string``
return C_LOCALE.as_mut_ptr() as *mut c_char;
}
// TODO actually implement
ptr::null()
ptr::null_mut()
}
......@@ -4,7 +4,7 @@
int main() {
// TODO: Implement locale properly and test it here
const char* val = setlocale(LC_ALL, NULL);
char* val = setlocale(LC_ALL, NULL);
if (strcmp(val, "C") == 0) {
puts("success!");
} else {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment