]> sigrok.org Git - libsigrok.git/blobdiff - src/std.c
wav: Don't assume CHUNK_SIZE >= total_samples
[libsigrok.git] / src / std.c
index 48f83b53b5856c1ae3c8740bc16d2d60bbaf02f1..6403d01a5d5603fb0222788b27a9f18e05138389 100644 (file)
--- a/src/std.c
+++ b/src/std.c
  * @internal
  */
 
+/* Needed for gettimeofday(), at least on FreeBSD. */
+#define _XOPEN_SOURCE 700
+
 #include <config.h>
 #include <string.h>
 #include <math.h>
+#include <sys/time.h>
 #include <glib.h>
 #include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
@@ -763,6 +767,23 @@ SR_PRIV GVariant *std_gvar_array_u64(const uint64_t *a, unsigned int n)
                                a, n, sizeof(uint64_t));
 }
 
+SR_PRIV GVariant *std_gvar_array_str(const char *a[], unsigned int n)
+{
+       GVariant *gvar;
+       GVariantBuilder *builder;
+       unsigned int i;
+
+       builder = g_variant_builder_new(G_VARIANT_TYPE ("as"));
+
+       for (i = 0; i < n; i++)
+               g_variant_builder_add(builder, "s", a[i]);
+
+       gvar = g_variant_new("as", builder);
+       g_variant_builder_unref(builder);
+
+       return gvar;
+}
+
 SR_PRIV GVariant *std_gvar_thresholds(const double a[][2], unsigned int n)
 {
        unsigned int i;