Skip to content

Commit 4b4fa48

Browse files
committed
[docopt_c.py] Improve bool; [test/docopt{.h,.c}] Regenerate
1 parent 9921c63 commit 4b4fa48

File tree

3 files changed

+23
-16
lines changed

3 files changed

+23
-16
lines changed

docopt_c.py

+11-7
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,10 @@
4949
5050
#include <stdbool.h>
5151
52-
#else
52+
#elif !defined(_STDBOOL_H)
53+
#define _STDBOOL_H
54+
55+
#include <stdlib.h>
5356
5457
#ifdef true
5558
#undef true
@@ -62,8 +65,8 @@
6265
#endif
6366
6467
#define true 1
65-
#define false !true
66-
typedef int bool;
68+
#define false (!true)
69+
typedef size_t bool;
6770
6871
#endif
6972
@@ -389,7 +392,6 @@
389392
usage_pattern,
390393
$help_message
391394
};
392-
struct Tokens ts;
393395
struct Command commands[] = {$elems_cmds
394396
};
395397
struct Argument arguments[] = {$elems_args
@@ -412,9 +414,11 @@
412414
return_code = EXIT_FAILURE;
413415
}
414416
415-
ts = tokens_new(argc, argv);
416-
if (parse_args(&ts, &elements))
417-
exit(EXIT_FAILURE);
417+
{
418+
struct Tokens ts = tokens_new(argc, argv);
419+
if (parse_args(&ts, &elements))
420+
exit(EXIT_FAILURE);
421+
}
418422
if (elems_to_args(&elements, &args, help, version))
419423
exit(return_code);
420424
return args;

test/docopt.c

+5-4
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,6 @@ struct DocoptArgs docopt(int argc, char *argv[], const bool help, const char *ve
324324
" --drifting Drifting mine.",
325325
""}
326326
};
327-
struct Tokens ts;
328327
struct Command commands[] = {
329328
{"create", 0},
330329
{"mine", 0},
@@ -362,9 +361,11 @@ struct DocoptArgs docopt(int argc, char *argv[], const bool help, const char *ve
362361
return_code = EXIT_FAILURE;
363362
}
364363

365-
ts = tokens_new(argc, argv);
366-
if (parse_args(&ts, &elements))
367-
exit(EXIT_FAILURE);
364+
{
365+
struct Tokens ts = tokens_new(argc, argv);
366+
if (parse_args(&ts, &elements))
367+
exit(EXIT_FAILURE);
368+
}
368369
if (elems_to_args(&elements, &args, help, version))
369370
exit(return_code);
370371
return args;

test/docopt.h

+7-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77

88
#include <stdbool.h>
99

10-
#else
10+
#elif !defined(_STDBOOL_H)
11+
#define _STDBOOL_H
12+
13+
#include <stdlib.h>
1114

1215
#ifdef true
1316
#undef true
@@ -20,8 +23,8 @@
2023
#endif
2124

2225
#define true 1
23-
#define false !true
24-
typedef int bool;
26+
#define false (!true)
27+
typedef size_t bool;
2528

2629
#endif
2730

@@ -55,8 +58,7 @@ typedef int bool;
5558

5659
#endif
5760

58-
#elif (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) \
59-
|| defined(__DragonFly__) || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
61+
#elif (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__) || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__))
6062

6163
#include <sys/param.h>
6264

0 commit comments

Comments
 (0)