Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
eval.c File Reference
#include "duktape.h"
#include <stdio.h>

Go to the source code of this file.

Functions

static int eval_raw (duk_context *ctx)
 
static int tostring_raw (duk_context *ctx)
 
static void usage_exit (void)
 
int main (int argc, char *argv[])
 

Function Documentation

◆ eval_raw()

static int eval_raw ( duk_context * ctx)
static

Definition at line 9 of file duktape-1.8.0/examples/eval/eval.c.

9 {
10 duk_eval(ctx);
11 return 1;
12}
#define duk_eval(ctx)

References duk_eval.

Referenced by main().

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 25 of file duktape-1.8.0/examples/eval/eval.c.

25 {
26 duk_context *ctx;
27 int i;
28 const char *res;
29
30 if (argc < 2) {
31 usage_exit();
32 }
33
35 for (i = 1; i < argc; i++) {
36 printf("=== eval: '%s' ===\n", argv[i]);
37 duk_push_string(ctx, argv[i]);
38 duk_safe_call(ctx, eval_raw, 1 /*nargs*/, 1 /*nrets*/);
39 duk_safe_call(ctx, tostring_raw, 1 /*nargs*/, 1 /*nrets*/);
40 res = duk_get_string(ctx, -1);
41 printf("%s\n", res ? res : "null");
42 duk_pop(ctx);
43 }
44
46
47 return 0;
48}
DUK_EXTERNAL const char * duk_push_string(duk_context *ctx, const char *str)
DUK_EXTERNAL const char * duk_get_string(duk_context *ctx, duk_idx_t index)
DUK_EXTERNAL duk_int_t duk_safe_call(duk_context *ctx, duk_safe_call_function func, duk_idx_t nargs, duk_idx_t nrets)
DUK_EXTERNAL void duk_destroy_heap(duk_context *ctx)
DUK_EXTERNAL void duk_pop(duk_context *ctx)
#define duk_create_heap_default()
static void usage_exit(void)
static int tostring_raw(duk_context *ctx)
static int eval_raw(duk_context *ctx)
#define printf

References duk_create_heap_default, duk_destroy_heap(), duk_get_string(), duk_pop(), duk_push_string(), duk_safe_call(), eval_raw(), printf, tostring_raw(), and usage_exit().

◆ tostring_raw()

static int tostring_raw ( duk_context * ctx)
static

Definition at line 14 of file duktape-1.8.0/examples/eval/eval.c.

14 {
15 duk_to_string(ctx, -1);
16 return 1;
17}
DUK_EXTERNAL const char * duk_to_string(duk_context *ctx, duk_idx_t index)

References duk_to_string().

Referenced by main().

◆ usage_exit()

static void usage_exit ( void )
static

Definition at line 19 of file duktape-1.8.0/examples/eval/eval.c.

19 {
20 fprintf(stderr, "Usage: eval <expression> [<expression>] ...\n");
21 fflush(stderr);
22 exit(1);
23}

Referenced by main().