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