summaryrefslogtreecommitdiff
path: root/testing/embedding/add_recursive-test.c
blob: cd29b790ffc727716031226b500e8126c06b3be9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>

#ifdef _MSC_VER
#  define DLLIMPORT  __declspec(dllimport)
#else
#  define DLLIMPORT  extern
#endif

DLLIMPORT int add_rec(int, int);
DLLIMPORT int (*my_callback)(int);

static int some_callback(int x)
{
    printf("some_callback(%d)\n", x);
    fflush(stdout);
    return add_rec(x, 9);
}

int main(void)
{
    int x, y;
    my_callback = some_callback;
    x = add_rec(40, 2);
    y = add_rec(100, -5);
    printf("got: %d %d\n", x, y);
    return 0;
}