Apparently FreeBSD 4 doesn't have putwc(), hence no boinkmarks
for the last few days. Add putwc() detection to grovel-features.sh,
and fallback to fputc() if putwc() isn't implemented.
(Actually untested on FreeBSD, but I figure it can't get any worse).
}
static void
+sbcl_putwc(wchar_t c, FILE *file)
+{
+#ifdef LISP_FEATURE_OS_PROVIDES_PUTWC
+ putwc(c, file);
+#else
+ if (c < 256) {
+ fputc(c, file);
+ } else {
+ fputc('?', file);
+ }
+#endif
+}
+
+static void
print_string (lispobj *object)
{
int tag = widetag_of(*object);
wchar_t c = (wchar_t) data[i]; \
if (c == '\\' || c == '"') \
putchar('\\'); \
- putwc(c, stdout); \
+ sbcl_putwc(c, stdout); \
} \
} while (0)
(unsigned long) len, addr, actual);
return 0;
}
-
+
#ifdef LISP_FEATURE_ALPHA
len=(len+(os_vm_page_size-1))&(~(os_vm_page_size-1));
featurep os-provides-dlopen
featurep os-provides-dladdr
+
+featurep os-provides-putwc
--- /dev/null
+/* test to build and run so that we know if we have putwc */
+
+#include <stdio.h>
+#include <wchar.h>
+
+int main ()
+{
+ wchar_t a = 'a';
+ putwc(a, stdout);
+ return 104;
+}
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.5.15"
+"0.9.5.16"