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
No related merge requests found
......@@ -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