From 6a9880e73c742935d8cd844e4a5d6545a38b0e1d Mon Sep 17 00:00:00 2001
From: whh8b <whh8b@git.zephyr-software.com>
Date: Wed, 22 Jul 2015 19:22:32 +0000
Subject: [PATCH] Update libdylib with tests for functions with var args.

---
 test/dylib/dylib.c      | 14 ++++++++++++--
 test/dylib/dylib.h      |  1 +
 test/dylib/dylib_test.c |  6 +++++-
 3 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/test/dylib/dylib.c b/test/dylib/dylib.c
index 2fd67b7..e702a7a 100644
--- a/test/dylib/dylib.c
+++ b/test/dylib/dylib.c
@@ -1,15 +1,18 @@
 #include <stdio.h>
 #include <stdarg.h>
 
+int b = 1;
+int c = 2;
+
 int dynamic_function_a(void) {
 	printf("This is dynamic function a.\n");
-	return 1;
+	return 0;
 }
 
 int dynamic_function_b(char *b, int n, ...) {
 	int i = 0;
 	va_list ap;
-	printf("This is dynamic function %s\n", b);
+	printf("This is dynamic function %s.\n", b);
 	va_start(ap, n);
 	for (i; i<n; i++)
 	{
@@ -20,3 +23,10 @@ int dynamic_function_b(char *b, int n, ...) {
 	va_end(ap);
 	return n-i;
 }
+
+int dynamic_function_c(int a) {
+	int d = 0;
+	printf("This is dynamic function c.\n");
+	d = a - b - c;
+	return d;
+}
diff --git a/test/dylib/dylib.h b/test/dylib/dylib.h
index ee0f588..329d167 100644
--- a/test/dylib/dylib.h
+++ b/test/dylib/dylib.h
@@ -2,4 +2,5 @@
 #define _DYLIB_H
 int dynamic_function_a(void);
 int dynamic_function_b(char *b, int n, ...);
+int dynamic_function_c(int a);
 #endif // _DYLIB_H
diff --git a/test/dylib/dylib_test.c b/test/dylib/dylib_test.c
index 2b564dd..761bdd0 100644
--- a/test/dylib/dylib_test.c
+++ b/test/dylib/dylib_test.c
@@ -2,5 +2,9 @@
 #include "dylib.h"
 
 int main() {
-	return dynamic_function_b("b", 2, "a", "b");
+	int ret = 0;
+	ret += dynamic_function_a();
+	ret += dynamic_function_b("b", 2, "a", "b");
+	ret += dynamic_function_c(3);
+	return ret;
 }
-- 
GitLab