1
2
3
4
5
6
7
8
9
10
11
|
/*
This file is part of Free Hero Mesh and is public domain.
*/
// == main ==
#define fatal(...) do{ fprintf(stderr,"FATAL: " __VA_ARGS__); exit(1); }while(0)
#define boolxrm(a,b) (*a=='1'||*a=='y'||*a=='t'||*a=='Y'||*a=='T'?1:*a=='0'||*a=='n'||*a=='f'||*a=='N'||*a=='F'?0:b)
#define TY_NUMBER 0
#define TY_CLASS 1
|
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/*
This file is part of Free Hero Mesh and is public domain.
*/
#include "comconfig.h"
// == main ==
#define fatal(...) do{ fprintf(stderr,"FATAL: " __VA_ARGS__); exit(1); }while(0)
#define boolxrm(a,b) (*a=='1'||*a=='y'||*a=='t'||*a=='Y'||*a=='T'?1:*a=='0'||*a=='n'||*a=='f'||*a=='N'||*a=='F'?0:b)
#define TY_NUMBER 0
#define TY_CLASS 1
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
extern unsigned char*level_title;
extern Uint16*level_index;
extern int level_nindex;
extern char level_changed; // 1 if solution is potentially invalidated by edits
extern FILE*levelfp;
extern FILE*solutionfp;
#ifdef __GNUC__
extern char stack_protect_mode;
extern void*stack_protect_mark;
extern void*stack_protect_low;
extern void*stack_protect_high;
#define StackProtection() (stack_protect_mode && ( \
stack_protect_mode=='<' ? (__builtin_frame_address(0)<stack_protect_mark) : \
stack_protect_mode=='>' ? (__builtin_frame_address(0)>stack_protect_mark) : \
|
|
|
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
extern unsigned char*level_title;
extern Uint16*level_index;
extern int level_nindex;
extern char level_changed; // 1 if solution is potentially invalidated by edits
extern FILE*levelfp;
extern FILE*solutionfp;
#ifdef CONFIG_WITH_STACK_PROTECTION
extern char stack_protect_mode;
extern void*stack_protect_mark;
extern void*stack_protect_low;
extern void*stack_protect_high;
#define StackProtection() (stack_protect_mode && ( \
stack_protect_mode=='<' ? (__builtin_frame_address(0)<stack_protect_mark) : \
stack_protect_mode=='>' ? (__builtin_frame_address(0)>stack_protect_mark) : \
|