mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
It is split into - /libgnucash (for the non-gui bits) - /gnucash (for the gui) - /common (misc source files used by both) - /bindings (currently only holds python bindings) This is the first step in restructuring the code. It will need much more fine tuning later on.
61 lines
1.9 KiB
Diff
61 lines
1.9 KiB
Diff
--- guile_scm_run.swg
|
|
+++ guile_scm_run.swg
|
|
@@ -41,10 +41,14 @@ typedef struct swig_guile_clientdata {
|
|
SCM goops_class;
|
|
} swig_guile_clientdata;
|
|
|
|
+#if SCM_MAJOR_VERSION <= 2
|
|
+#define scm_to_utf8_string scm_to_locale_string
|
|
+#define scm_from_utf8_string scm_from_locale_string
|
|
+#endif
|
|
#define SWIG_scm2str(s) \
|
|
SWIG_Guile_scm2newstr(s, NULL)
|
|
#define SWIG_str02scm(str) \
|
|
- str ? scm_from_locale_string(str) : SCM_BOOL_F
|
|
+ str ? scm_from_utf8_string(str) : SCM_BOOL_F
|
|
# define SWIG_malloc(size) \
|
|
scm_malloc(size)
|
|
# define SWIG_free(mem) \
|
|
@@ -84,21 +88,13 @@ SWIGINTERN char *
|
|
SWIG_Guile_scm2newstr(SCM str, size_t *len) {
|
|
#define FUNC_NAME "SWIG_Guile_scm2newstr"
|
|
char *ret;
|
|
- char *tmp;
|
|
- size_t l;
|
|
|
|
SCM_ASSERT (scm_is_string(str), str, 1, FUNC_NAME);
|
|
- l = scm_c_string_length(str);
|
|
|
|
- ret = (char *) SWIG_malloc( (l + 1) * sizeof(char));
|
|
+ ret = scm_to_utf8_string(str);
|
|
if (!ret) return NULL;
|
|
|
|
- tmp = scm_to_locale_string(str);
|
|
- memcpy(ret, tmp, l);
|
|
- free(tmp);
|
|
-
|
|
- ret[l] = '\0';
|
|
- if (len) *len = l;
|
|
+ if (len) *len = strlen(ret) - 1;
|
|
return ret;
|
|
#undef FUNC_NAME
|
|
}
|
|
@@ -473,7 +469,7 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
|
|
int num_args_passed = 0;
|
|
for (i = 0; i<reqargs; i++) {
|
|
if (!SCM_CONSP(rest))
|
|
- scm_wrong_num_args(scm_from_locale_string(procname ? (char *) procname : "unknown procedure"));
|
|
+ scm_wrong_num_args(scm_from_utf8_string(procname ? (char *) procname : "unknown procedure"));
|
|
*dest++ = SCM_CAR(rest);
|
|
rest = SCM_CDR(rest);
|
|
num_args_passed++;
|
|
@@ -486,7 +482,7 @@ SWIG_Guile_GetArgs (SCM *dest, SCM rest,
|
|
for (; i<optargs; i++)
|
|
*dest++ = SCM_UNDEFINED;
|
|
if (!SCM_NULLP(rest))
|
|
- scm_wrong_num_args(scm_from_locale_string(procname ? (char *) procname : "unknown procedure"));
|
|
+ scm_wrong_num_args(scm_from_utf8_string(procname ? (char *) procname : "unknown procedure"));
|
|
return num_args_passed;
|
|
}
|
|
|