nsxiv8e1d8a9
Simplified config.c
+19 −27
2 files changed
| @@ -1,4 +1,4 @@ | |||
| 1 | − | VERSION = git-20110917 | |
| 1 | + | VERSION = git-20110923 | |
| 2 | 2 | ||
| 3 | 3 | CC = gcc | |
| 4 | 4 | CFLAGS = -Wall -pedantic -O2 | |
| @@ -2,44 +2,36 @@ | |||
| 2 | 2 | #define _FEATURE_CONFIG | |
| 3 | 3 | ||
| 4 | 4 | #include <stdio.h> | |
| 5 | − | #include <string.h> | |
| 6 | 5 | ||
| 7 | 6 | #include "config.h" | |
| 8 | 7 | ||
| 9 | 8 | #define QUOTE(m) #m | |
| 10 | 9 | #define PUT_MACRO(m) \ | |
| 11 | − | printf("%s-D%s=%s", n++ ? " " : "", #m, QUOTE(m)) | |
| 10 | + | printf(" -D%s=%s", #m, QUOTE(m)) | |
| 12 | 11 | ||
| 13 | − | int n = 0; | |
| 14 | − | ||
| 15 | − | inline void puts_if(const char *s, int c) { | |
| 16 | − | if (c) | |
| 17 | − | printf("%s%s", n++ ? " " : "", s); | |
| 18 | − | } | |
| 19 | − | ||
| 20 | − | inline void endl() { | |
| 21 | − | if (n) { | |
| 22 | − | printf("\n"); | |
| 23 | − | n = 0; | |
| 24 | − | } | |
| 12 | + | inline int puts_if(const char *s, int c) { | |
| 13 | + | return c ? printf(" %s", s) : 0; | |
| 25 | 14 | } | |
| 26 | 15 | ||
| 27 | 16 | int main(int argc, char **argv) { | |
| 28 | − | int i; | |
| 17 | + | int i, n = 0; | |
| 29 | 18 | ||
| 30 | 19 | for (i = 1; i < argc; i++) { | |
| 31 | − | if (!strcmp(argv[i], "-D")) { | |
| 32 | − | PUT_MACRO(EXIF_SUPPORT); | |
| 33 | − | PUT_MACRO(GIF_SUPPORT); | |
| 34 | − | endl(); | |
| 35 | − | } else if (!strcmp(argv[i], "-l")) { | |
| 36 | − | puts_if("-lexif", EXIF_SUPPORT); | |
| 37 | − | puts_if("-lgif", GIF_SUPPORT); | |
| 38 | − | endl(); | |
| 39 | − | } else { | |
| 40 | − | fprintf(stderr, "%s: invalid argument: %s\n", argv[0], argv[i]); | |
| 41 | − | return 1; | |
| 20 | + | switch (argv[i][0] != '-' || argv[i][2] ? -1 : argv[i][1]) { | |
| 21 | + | case 'D': | |
| 22 | + | n += PUT_MACRO(EXIF_SUPPORT); | |
| 23 | + | n += PUT_MACRO(GIF_SUPPORT); | |
| 24 | + | break; | |
| 25 | + | case 'l': | |
| 26 | + | n += puts_if("-lexif", EXIF_SUPPORT); | |
| 27 | + | n += puts_if("-lgif", GIF_SUPPORT); | |
| 28 | + | break; | |
| 29 | + | default: | |
| 30 | + | fprintf(stderr, "%s: invalid argument: %s\n", argv[0], argv[i]); | |
| 31 | + | return 1; | |
| 42 | 32 | } | |
| 43 | 33 | } | |
| 34 | + | if (n) | |
| 35 | + | printf("\n"); | |
| 44 | 36 | return 0; | |
| 45 | 37 | } | |