mirror of https://github.com/djcb/mu.git
* mu-guile: make the string functions save against b0rked utf-8
This commit is contained in:
parent
eb5bbe0c09
commit
453036dff9
|
@ -37,13 +37,13 @@
|
|||
|
||||
|
||||
SCM
|
||||
scm_from_str_or_null (const char *str)
|
||||
mu_guile_scm_from_str (const char *str)
|
||||
{
|
||||
if (!str)
|
||||
return SCM_BOOL_F;
|
||||
|
||||
return scm_from_stringn (str, strlen(str), "UTF-8",
|
||||
SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE);
|
||||
else
|
||||
return scm_from_stringn (str, strlen(str), "UTF-8",
|
||||
SCM_FAILED_CONVERSION_QUESTION_MARK);
|
||||
}
|
||||
|
||||
|
||||
|
@ -56,7 +56,7 @@ mu_guile_error (const char *func_name, int status,
|
|||
scm_from_utf8_string (fmt), args,
|
||||
scm_list_1 (scm_from_int (status)));
|
||||
|
||||
return SCM_BOOL_F;
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
|
||||
SCM
|
||||
|
@ -67,12 +67,13 @@ mu_guile_g_error (const char *func_name, GError *err)
|
|||
scm_from_utf8_string (err ? err->message : "error"),
|
||||
SCM_UNDEFINED, SCM_UNDEFINED);
|
||||
|
||||
return SCM_BOOL_F;
|
||||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* there can be only one */
|
||||
|
||||
static MuGuile *_singleton = NULL;
|
||||
|
||||
static gboolean
|
||||
|
|
|
@ -74,13 +74,14 @@ SCM mu_guile_error (const char *func_name, int status,
|
|||
|
||||
/**
|
||||
* convert a const char* into an SCM -- either a string or, if str ==
|
||||
* NULL, #f
|
||||
* NULL, #f. It assumes str is in UTF8 encoding, and replace
|
||||
* characters with '?' if needed.
|
||||
*
|
||||
* @param str a string or NULL
|
||||
*
|
||||
* @return a guile string or #f
|
||||
*/
|
||||
SCM scm_from_str_or_null (const char *str);
|
||||
SCM mu_guile_scm_from_str (const char *str);
|
||||
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue