0.9.16.35:
[sbcl.git] / src / code / win32-os.lisp
index ea085e5..f485d71 100644 (file)
   #!+sb-doc
   "Return a string describing version of the supporting software, or NIL
   if not available."
-  ;; FIXME: Implement.
-  nil)
+  (or *software-version*
+      (setf *software-version*
+           (multiple-value-bind (MajorVersion MinorVersion BuildNumber PlatformId CSDVersion)
+               (sb!win32:get-version-ex)
+             (declare (ignore PlatformId))
+             (format nil (if (zerop (length CSDVersion)) "~A.~A.~A" "~A.~A.~A (~A)")
+                     MajorVersion MinorVersion BuildNumber CSDVersion)))))
 
 ;;; Return user time, system time, and number of page faults.
 (defun get-system-info ()