2020
2121#include <ctype.h>
2222#include <limits.h>
23+ #include <stdarg.h>
2324#include <stdint.h>
2425#include <stdlib.h>
2526#include <string.h>
@@ -81,8 +82,16 @@ char *Strdup(const char *s) {
8182 return p ;
8283}
8384
84- umf_result_t umfCtlGet (const char * name , void * ctx , void * arg ) {
85+ umf_result_t umfCtlGet (const char * name , ... ) {
8586 assert (name != NULL );
87+
88+ va_list args ;
89+ va_start (args , name );
90+
91+ void * ctx = va_arg (args , void * );
92+ void * arg = va_arg (args , void * );
93+ va_end (args );
94+
8695 assert (arg != NULL );
8796 assert (ctx != NULL );
8897 return ctl_query (NULL , ctx , CTL_QUERY_PROGRAMMATIC , name , CTL_QUERY_READ ,
@@ -91,8 +100,16 @@ umf_result_t umfCtlGet(const char *name, void *ctx, void *arg) {
91100 : UMF_RESULT_SUCCESS ;
92101}
93102
94- umf_result_t umfCtlSet (const char * name , void * ctx , void * arg ) {
103+ umf_result_t umfCtlSet (const char * name , ... ) {
95104 assert (name != NULL );
105+
106+ va_list args ;
107+ va_start (args , name );
108+
109+ void * ctx = va_arg (args , void * );
110+ void * arg = va_arg (args , void * );
111+ va_end (args );
112+
96113 assert (arg != NULL );
97114 assert (ctx != NULL );
98115 return ctl_query (NULL , ctx , CTL_QUERY_PROGRAMMATIC , name , CTL_QUERY_WRITE ,
@@ -101,8 +118,16 @@ umf_result_t umfCtlSet(const char *name, void *ctx, void *arg) {
101118 : UMF_RESULT_SUCCESS ;
102119}
103120
104- umf_result_t umfCtlExec (const char * name , void * ctx , void * arg ) {
121+ umf_result_t umfCtlExec (const char * name , ... ) {
105122 assert (name != NULL );
123+
124+ va_list args ;
125+ va_start (args , name );
126+
127+ void * ctx = va_arg (args , void * );
128+ void * arg = va_arg (args , void * );
129+ va_end (args );
130+
106131 assert (arg != NULL );
107132 assert (ctx != NULL );
108133 return ctl_query (NULL , ctx , CTL_QUERY_PROGRAMMATIC , name ,
0 commit comments