summaryrefslogtreecommitdiff
path: root/save.c
blob: faead35e4411f916b90c47b94be3498cfff40f71 (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
28
29
30
31
32
#include <windows.h>
#include <SWI-Prolog.h>

INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    PSTR lpCmdLine, INT nCmdShow)
{
	char *plav[2];

	/* make the argument vector for Prolog */

	plav[0] = "save";
	plav[1] = NULL;

	/* initialise Prolog */

	if (!PL_initialise(1, plav))
		PL_halt(1);

	/* Lookup calc/1 and make the arguments and call */

	{
		predicate_t pred = PL_predicate("main", 0, "user");
		term_t h0 = PL_new_term_refs(0);
		int rval;

		rval = PL_call_predicate(NULL, PL_Q_NORMAL, pred, h0);

		PL_halt(rval ? 0 : 1);
	}

	return 0;
}