From 59c3c90cd522e3f62d8aab1ea70fb8836e308e1b Mon Sep 17 00:00:00 2001 From: Rob Browning Date: Sun, 8 Dec 2002 20:43:22 +0000 Subject: [PATCH] * version.c (scm_effective_version): new function, also add effective-version. --- libguile/version.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/libguile/version.c b/libguile/version.c index 60620c3e5..b1656ab2f 100644 --- a/libguile/version.c +++ b/libguile/version.c @@ -122,6 +122,31 @@ SCM_DEFINE (scm_version, "version", 0, 0, 0, } #undef FUNC_NAME +/* Return a Scheme string containing Guile's effective version. */ + +SCM_DEFINE (scm_effective_version, "effective-version", 0, 0, 0, + (), + "Return a string describing Guile's effective version number.\n" + "@lisp\n" + "(version) @result{} \"1.6.0\"\n" + "(effective-version) @result{} \"1.6\"\n" + "(major-version) @result{} \"1\"\n" + "(minor-version) @result{} \"6\"\n" + "(micro-version) @result{} \"0\"\n" + "@end lisp") +#define FUNC_NAME s_scm_effective_version +{ + + char version_str[2 * 4 + 3]; + +#if (SCM_MAJOR_VERSION > 9999 || SCM_MINOR_VERSION > 9999) +# error version string may overflow buffer +#endif + sprintf (version_str, "%d.%d", SCM_MAJOR_VERSION, SCM_MINOR_VERSION); + return scm_makfrom0str (version_str); +} +#undef FUNC_NAME +