* mu-guile: make the string functions save against b0rked utf-8
This commit is contained in:
@ -37,13 +37,13 @@
|
|||||||
|
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
scm_from_str_or_null (const char *str)
|
mu_guile_scm_from_str (const char *str)
|
||||||
{
|
{
|
||||||
if (!str)
|
if (!str)
|
||||||
return SCM_BOOL_F;
|
return SCM_BOOL_F;
|
||||||
|
else
|
||||||
return scm_from_stringn (str, strlen(str), "UTF-8",
|
return scm_from_stringn (str, strlen(str), "UTF-8",
|
||||||
SCM_FAILED_CONVERSION_ESCAPE_SEQUENCE);
|
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_from_utf8_string (fmt), args,
|
||||||
scm_list_1 (scm_from_int (status)));
|
scm_list_1 (scm_from_int (status)));
|
||||||
|
|
||||||
return SCM_BOOL_F;
|
return SCM_UNSPECIFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
SCM
|
SCM
|
||||||
@ -67,12 +67,13 @@ mu_guile_g_error (const char *func_name, GError *err)
|
|||||||
scm_from_utf8_string (err ? err->message : "error"),
|
scm_from_utf8_string (err ? err->message : "error"),
|
||||||
SCM_UNDEFINED, SCM_UNDEFINED);
|
SCM_UNDEFINED, SCM_UNDEFINED);
|
||||||
|
|
||||||
return SCM_BOOL_F;
|
return SCM_UNSPECIFIED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* there can be only one */
|
/* there can be only one */
|
||||||
|
|
||||||
static MuGuile *_singleton = NULL;
|
static MuGuile *_singleton = NULL;
|
||||||
|
|
||||||
static gboolean
|
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 ==
|
* 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
|
* @param str a string or NULL
|
||||||
*
|
*
|
||||||
* @return a guile string or #f
|
* @return a guile string or #f
|
||||||
*/
|
*/
|
||||||
SCM scm_from_str_or_null (const char *str);
|
SCM mu_guile_scm_from_str (const char *str);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user