setlocale() is allowed to return NULL. In particular, this happens on
Bionic (Android's libc) because it doesn't support C locales.
Signed-off-by: Chih-Jen Lin <cjlin@csie.ntu.edu.tw>
FILE *fp = fopen(model_file_name,"w");
if(fp==NULL) return -1;
- char *old_locale = strdup(setlocale(LC_ALL, NULL));
+ char *old_locale = setlocale(LC_ALL, NULL);
+ if (old_locale) {
+ old_locale = strdup(old_locale);
+ }
setlocale(LC_ALL, "C");
int nr_w;
model_->label = NULL;
- char *old_locale = strdup(setlocale(LC_ALL, NULL));
+ char *old_locale = setlocale(LC_ALL, NULL);
+ if (old_locale) {
+ old_locale = strdup(old_locale);
+ }
setlocale(LC_ALL, "C");
char cmd[81];