diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 88437daa0..ef0aa937a 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,8 @@ +2001-10-14 Gary Houston + + * version.c (scm_version): use sprintf instead of snprintf, + for portability. thanks to Bill Schottstaedt. + 2001-10-14 Mikael Djurfeldt * read.c (scm_lreadr): When user-defined hash procedure returns diff --git a/libguile/version.c b/libguile/version.c index 3d130564a..1bf1f6ff2 100644 --- a/libguile/version.c +++ b/libguile/version.c @@ -106,9 +106,13 @@ SCM_DEFINE (scm_version, "version", 0, 0, 0, #define FUNC_NAME s_scm_version { - char version_str[64]; + char version_str[3 * 4 + 3]; - snprintf(version_str, sizeof(version_str), "%d.%d.%d", +#if SCM_GUILE_MAJOR_VERSION > 9999 || SCM_GUILE_MINOR_VERSION > 9999 \ + || SCM_GUILE_MICRO_VERSION > 9999 +# error version string may overflow buffer +#endif + sprintf (version_str, "%d.%d.%d", SCM_GUILE_MAJOR_VERSION, SCM_GUILE_MINOR_VERSION, SCM_GUILE_MICRO_VERSION);