From 3070990ebff578c309fd53126aa9d1c252ce2d95 Mon Sep 17 00:00:00 2001 From: Kevin Wasserman Date: Tue, 17 Mar 2015 16:16:06 -0400 Subject: [PATCH] Fix conditional logic for using arrays with OutputStream.write gio-2.0.vapi switched to arrays with vala 0.11.1 --- Makefile.am | 3 +++ configure.ac | 7 ++++++- src/moonshot-local-flat-file-store.vala | 6 +++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Makefile.am b/Makefile.am index 290639d..0994d1f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -183,6 +183,9 @@ AM_VALAFLAGS += \ --define=IPC_DBUS endif endif +if GIO_VAPI_USES_ARRAYS +AM_VALAFLAGS += --define=GIO_VAPI_USES_ARRAYS +endif EXTRA_DIST = webprovisioning/moonshot.xml $(dbusservice_in_files) \ webprovisioning/complex-test.msht webprovisioning/sample.msht \ diff --git a/configure.ac b/configure.ac index 8ad0e01..16f3dda 100644 --- a/configure.ac +++ b/configure.ac @@ -103,9 +103,14 @@ AM_CONDITIONAL([IPC_DBUS], [test "$SERVER_IPC_MODULE" != "msrpc-glib2-1.0"]) AM_CONDITIONAL([IPC_DBUS_GLIB], [test "$SERVER_IPC_MODULE" = "dbus-glib-1"]) AM_CONDITIONAL([IPC_GDBUS], [test "$SERVER_IPC_MODULE" = "gio-2.0"]) +vala_version=`$VALAC --version | sed 's/Vala *//'` +AS_VERSION_COMPARE(["$vala_version"], [0.11.1], + [gio_vapi_uses_arrays="no"], + [gio_vapi_uses_arrays="yes"], + [gio_vapi_uses_arrays="yes"]) +AM_CONDITIONAL([GIO_VAPI_USES_ARRAYS], [test "$gio_vapi_uses_arrays" = "yes"]) if test "$SERVER_IPC_MODULE" = "dbus-glib-1"; then AC_MSG_CHECKING([$VALAC is no greater than 0.12.1]) - vala_version=`$VALAC --version | sed 's/Vala *//'` AS_VERSION_COMPARE([0.12.2], ["$vala_version"], [vala_supports_dbus_glib="no"], [vala_supports_dbus_glib="no"], diff --git a/src/moonshot-local-flat-file-store.vala b/src/moonshot-local-flat-file-store.vala index 48efabe..0946316 100644 --- a/src/moonshot-local-flat-file-store.vala +++ b/src/moonshot-local-flat-file-store.vala @@ -179,11 +179,11 @@ public class LocalFlatFileStore : Object, IIdentityCardStore { var filename = Path.build_filename (path, FILE_NAME); var file = File.new_for_path(filename); var stream = file.replace(null, false, FileCreateFlags.PRIVATE); -#if IPC_DBUS_GLIB +#if GIO_VAPI_USES_ARRAYS + stream.write(text.data); +#else var bits = text.data; stream.write(&bits[0], bits.length); -#else - stream.write(text.data); #endif } catch (Error e) { -- 2.1.4