Skip to content
Snippets Groups Projects
Commit 6a9880e7 authored by whh8b's avatar whh8b
Browse files

Update libdylib with tests for functions with var args.

parent 0b8a9a53
No related branches found
No related tags found
No related merge requests found
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
int b = 1;
int c = 2;
int dynamic_function_a(void) { int dynamic_function_a(void) {
printf("This is dynamic function a.\n"); printf("This is dynamic function a.\n");
return 1; return 0;
} }
int dynamic_function_b(char *b, int n, ...) { int dynamic_function_b(char *b, int n, ...) {
int i = 0; int i = 0;
va_list ap; va_list ap;
printf("This is dynamic function %s\n", b); printf("This is dynamic function %s.\n", b);
va_start(ap, n); va_start(ap, n);
for (i; i<n; i++) for (i; i<n; i++)
{ {
...@@ -20,3 +23,10 @@ int dynamic_function_b(char *b, int n, ...) { ...@@ -20,3 +23,10 @@ int dynamic_function_b(char *b, int n, ...) {
va_end(ap); va_end(ap);
return n-i; 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;
}
...@@ -2,4 +2,5 @@ ...@@ -2,4 +2,5 @@
#define _DYLIB_H #define _DYLIB_H
int dynamic_function_a(void); int dynamic_function_a(void);
int dynamic_function_b(char *b, int n, ...); int dynamic_function_b(char *b, int n, ...);
int dynamic_function_c(int a);
#endif // _DYLIB_H #endif // _DYLIB_H
...@@ -2,5 +2,9 @@ ...@@ -2,5 +2,9 @@
#include "dylib.h" #include "dylib.h"
int main() { 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;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment