diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2015-07-29 13:51:16 +0200 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2015-07-31 15:07:30 +0200 |
commit | efb5a38ca0bac3537ceaf3383681a518df133143 (patch) | |
tree | 5de66e15f7569b32789e36a6d0b902692f3e8106 /source/fitz/getoptw.c | |
parent | c9f78a28b21da2a321334282fb683cf0a5eb3319 (diff) | |
download | mupdf-efb5a38ca0bac3537ceaf3383681a518df133143.tar.xz |
win32: Convert argv to utf-8 and use regular getopt.
Easier than duplicating getopt for wchar_t, since we already
have windows specific functions to convert wchar_t strings.
Diffstat (limited to 'source/fitz/getoptw.c')
-rw-r--r-- | source/fitz/getoptw.c | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/source/fitz/getoptw.c b/source/fitz/getoptw.c deleted file mode 100644 index 55b8d015..00000000 --- a/source/fitz/getoptw.c +++ /dev/null @@ -1,72 +0,0 @@ -/* - * This is a version of the public domain getopt implementation by - * Henry Spencer originally posted to net.sources. Adapted to - * windows wchar's. - * - * This file is in the public domain. - */ - -#if defined(_WIN64) || defined(_WIN32) - -#include <stdio.h> -#include <string.h> -#include <windows.h> - -#define getoptw fz_getoptw -#define optargw fz_optargw -#define optindw fz_optindw - -wchar_t *optargw; /* Global argument pointer. */ -int optindw = 0; /* Global argv index. */ - -static wchar_t *scan = NULL; /* Private scan pointer. */ - -int -getoptw(wchar_t argc, wchar_t *argv[], wchar_t *optstring) -{ - wchar_t c; - wchar_t *place; - - optargw = NULL; - - if (!scan || *scan == '\0') { - if (optindw == 0) - optindw++; - - if (optindw >= argc || argv[optindw][0] != '-' || argv[optindw][1] == '\0') - return EOF; - if (argv[optindw][1] == '-' && argv[optindw][2] == '\0') { - optindw++; - return EOF; - } - - scan = argv[optindw]+1; - optindw++; - } - - c = *scan++; - place = wcschr(optstring, c); - - if (!place || c == ':') { - fprintf(stderr, "%s: unknown option -%C\n", argv[0], c); - return '?'; - } - - place++; - if (*place == ':') { - if (*scan != '\0') { - optargw = scan; - scan = NULL; - } else if( optindw < argc ) { - optargw = argv[optindw]; - optindw++; - } else { - fprintf(stderr, "%s: option requires argument -%C\n", argv[0], c); - return ':'; - } - } - - return c; -} - -#endif |