#include <string.h>
#include <assert.h>
-#include <internal/nelem.h>
+#include "internal/nelem.h"
#include <openssl/bio.h>
+#ifdef _WIN32
+# define strdup _strdup
+#endif
+
/*
* Declares the structures needed to register each test case function.
*/
typedef struct test_info {
const char *test_case_name;
- int (*test_fn) ();
+ int (*test_fn) (void);
int (*param_test_fn)(int idx);
int num;
return EXIT_SUCCESS;
}
+/*
+ * Glue an array of strings together and return it as an allocated string.
+ * Optionally return the whole length of this string in |out_len|
+ */
+char *glue_strings(const char *list[], size_t *out_len)
+{
+ size_t len = 0;
+ char *p, *ret;
+ int i;
+
+ for (i = 0; list[i] != NULL; i++)
+ len += strlen(list[i]);
+
+ if (out_len != NULL)
+ *out_len = len;
+
+ if (!TEST_ptr(ret = p = OPENSSL_malloc(len + 1)))
+ return NULL;
+
+ for (i = 0; list[i] != NULL; i++)
+ p += strlen(strcpy(p, list[i]));
+
+ return ret;
+}
+