1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 21:40:33 +02:00

* version.c

(scm_major_version): support integer *_VERSION macros.
(scm_minor_version): support integer *_VERSION macros.
(scm_micro_version): support integer *_VERSION macros.
(scm_version): support integer *_VERSION macros.
This commit is contained in:
Rob Browning 2001-09-20 16:47:01 +00:00
parent c8333bc59d
commit 3143f1093d

View file

@ -42,13 +42,15 @@
#include <stdio.h>
#include "libguile/_scm.h" #include "libguile/_scm.h"
#include "libguile/strings.h" #include "libguile/strings.h"
#include "libguile/versiondat.h"
#include "libguile/version.h" #include "libguile/version.h"
#define SCM_TMP_MACRO_MKSTR(x) #x
/* Return a Scheme string containing Guile's major version number. */ /* Return a Scheme string containing Guile's major version number. */
SCM_DEFINE (scm_major_version, "major-version", 0, 0, 0, SCM_DEFINE (scm_major_version, "major-version", 0, 0, 0,
@ -57,7 +59,8 @@ SCM_DEFINE (scm_major_version, "major-version", 0, 0, 0,
"E.g., the 1 in \"1.6.5\".") "E.g., the 1 in \"1.6.5\".")
#define FUNC_NAME s_scm_major_version #define FUNC_NAME s_scm_major_version
{ {
return scm_makfrom0str (GUILE_MAJOR_VERSION); return scm_number_to_string (SCM_MAKINUM(SCM_GUILE_MAJOR_VERSION),
SCM_MAKINUM(10));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -69,7 +72,8 @@ SCM_DEFINE (scm_minor_version, "minor-version", 0, 0, 0,
"E.g., the 6 in \"1.6.5\".") "E.g., the 6 in \"1.6.5\".")
#define FUNC_NAME s_scm_minor_version #define FUNC_NAME s_scm_minor_version
{ {
return scm_makfrom0str (GUILE_MINOR_VERSION); return scm_number_to_string (SCM_MAKINUM(SCM_GUILE_MINOR_VERSION),
SCM_MAKINUM(10));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -81,7 +85,8 @@ SCM_DEFINE (scm_micro_version, "micro-version", 0, 0, 0,
"E.g., the 5 in \"1.6.5\".") "E.g., the 5 in \"1.6.5\".")
#define FUNC_NAME s_scm_micro_version #define FUNC_NAME s_scm_micro_version
{ {
return scm_makfrom0str (GUILE_MICRO_VERSION); return scm_number_to_string (SCM_MAKINUM(SCM_GUILE_MICRO_VERSION),
SCM_MAKINUM(10));
} }
#undef FUNC_NAME #undef FUNC_NAME
@ -100,7 +105,15 @@ SCM_DEFINE (scm_version, "version", 0, 0, 0,
"@end lisp") "@end lisp")
#define FUNC_NAME s_scm_version #define FUNC_NAME s_scm_version
{ {
return scm_makfrom0str (GUILE_VERSION);
char version_str[64];
snprintf(version_str, sizeof(version_str), "%d.%d.%d",
SCM_GUILE_MAJOR_VERSION,
SCM_GUILE_MINOR_VERSION,
SCM_GUILE_MICRO_VERSION);
return scm_makfrom0str (version_str);
} }
#undef FUNC_NAME #undef FUNC_NAME