OpenClonk
C4ScriptMain.cpp
Go to the documentation of this file.
1
/*
2
* OpenClonk, http://www.openclonk.org
3
*
4
* Copyright (c) 2012-2016, The OpenClonk Team and contributors
5
*
6
* Distributed under the terms of the ISC license; see accompanying file
7
* "COPYING" for details.
8
*
9
* "Clonk" is a registered trademark of Matthes Bender, used with permission.
10
* See accompanying file "TRADEMARK" for details.
11
*
12
* To redistribute this file separately, substitute the full license texts
13
* for the above references.
14
*/
15
16
// Do not include C4Include.h - this file tests whether
17
// c4script.h is useable without that.
18
#include "../../include/c4script/c4script.h"
19
20
#include <cstdio>
21
#include <cstring>
22
#include <getopt.h>
23
24
int
usage
(
const
char
*argv0)
25
{
26
fprintf(stderr,
"Usage:\n%s -e <script>\n%s <file>\n"
, argv0, argv0);
27
return
1;
28
}
29
30
int
main
(
int
argc,
char
*argv[])
31
{
32
if
(argc < 2)
33
return
usage
(argv[0]);
34
35
bool
check =
false
;
36
char
*runstring =
nullptr
;
37
38
while
(
true
)
39
{
40
static
option long_options[] =
41
{
42
{
"check"
, no_argument,
nullptr
,
'c'
},
43
{
"execute"
, required_argument,
nullptr
,
'e'
},
44
{
nullptr
, 0,
nullptr
, 0}
45
};
46
47
int
option_index;
48
int
c = getopt_long(argc, argv,
"ce:"
, long_options, &option_index);
49
if
(c == -1)
break
;
50
switch
(c)
51
{
52
case
'c'
:
53
check =
true
;
54
break
;
55
case
'e'
:
56
runstring = optarg;
57
break
;
58
default
:
59
return
usage
(argv[0]);
60
}
61
}
62
63
if
(runstring)
64
{
65
if
(argc - optind != 0)
66
return
usage
(argv[0]);
67
if
(check)
68
return
c4s_checkstring
(runstring);
69
else
70
return
c4s_runstring
(runstring);
71
}
72
else
73
{
74
if
(argc - optind != 1)
75
return
usage
(argv[0]);
76
if
(check)
77
return
c4s_checkfile
(argv[optind]);
78
else
79
return
c4s_runfile
(argv[optind]);
80
}
81
}
main
int main(int argc, char *argv[])
Definition:
C4ScriptMain.cpp:30
usage
int usage(const char *argv0)
Definition:
C4ScriptMain.cpp:24
c4s_checkfile
int c4s_checkfile(const char *filename)
Definition:
C4ScriptStandalone.cpp:97
c4s_checkstring
int c4s_checkstring(const char *script)
Definition:
C4ScriptStandalone.cpp:98
c4s_runstring
int c4s_runstring(const char *script)
Definition:
C4ScriptStandalone.cpp:95
c4s_runfile
int c4s_runfile(const char *filename)
Definition:
C4ScriptStandalone.cpp:94
openclonk
src
script
C4ScriptMain.cpp
Generated on Fri May 16 2025 04:33:17 for OpenClonk by
1.9.1