diff options
author | Pierre Joye <pierre.php@gmail.com> | 2021-08-23 20:27:40 +0700 |
---|---|---|
committer | Pierre Joye <pierre.php@gmail.com> | 2021-08-23 20:27:40 +0700 |
commit | 18324c72c29971f2497b76ffe9a1eabfe8e6ec3d (patch) | |
tree | fd2216e0727b4c6284a26e0fa18912adeec21565 /src | |
parent | 5a34892fe2e7039e4f586a74111f7523699ff538 (diff) | |
download | libgd-18324c72c29971f2497b76ffe9a1eabfe8e6ec3d.tar.gz |
tried, remove it from windows build, will need portable codes elsewhere
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/webpng.c | 89 |
2 files changed, 3 insertions, 89 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index eb8d519..c445815 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -152,6 +152,9 @@ set(GD_PROGRAMS gdcmpgif) if (PNG_FOUND) set(GD_PROGRAMS ${GD_PROGRAMS} gdtopng pngtogd webpng) + if (WIN32 AND NOT MINGW AND NOT MSYS) + set(GD_PROGRAMS ${GD_PROGRAMS} webpng) + endif (WIN32 AND NOT MINGW AND NOT MSYS) if (ZLIB_FOUND) set(GD_PROGRAMS ${GD_PROGRAMS} gdparttopng gd2topng pngtogd2) endif() diff --git a/src/webpng.c b/src/webpng.c index 7119eaf..b376253 100644 --- a/src/webpng.c +++ b/src/webpng.c @@ -41,95 +41,6 @@ static void usage(const char *msg) fprintf(stderr, "\nError: %s\n", msg); exit(msg == NULL ? 0 : 1); } -static const char letters[] = -"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - -#ifdef _MSC_VER -extern int optind, opterr, optopt; -extern char *optarg; -/* This is only used here */ -int -mkstemp (char *tmpl) -{ - int len; - char *XXXXXX; - static unsigned long long value; - unsigned long long random_time_bits; - unsigned int count; - int fd = -1; - int save_errno = errno; - -#define ATTEMPTS_MIN (62 * 62 * 62) - - /* The number of times to attempt to generate a temporary file. To - conform to POSIX, this must be no smaller than TMP_MAX. */ -#if ATTEMPTS_MIN < TMP_MAX - unsigned int attempts = TMP_MAX; -#else - unsigned int attempts = ATTEMPTS_MIN; -#endif - - len = strlen (tmpl); - if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX")) - { - errno = EINVAL; - return -1; - } - -/* This is where the Xs start. */ - XXXXXX = &tmpl[len - 6]; - - /* Get some more or less random data. */ - { - SYSTEMTIME stNow; - FILETIME ftNow; - - // get system time - GetSystemTime(&stNow); - stNow.wMilliseconds = 500; - if (!SystemTimeToFileTime(&stNow, &ftNow)) - { - errno = -1; - return -1; - } - - random_time_bits = (((unsigned long long)ftNow.dwHighDateTime << 32) - | (unsigned long long)ftNow.dwLowDateTime); - } - value += random_time_bits ^ (unsigned long long)GetCurrentThreadId (); - - for (count = 0; count < attempts; value += 7777, ++count) - { - unsigned long long v = value; - - /* Fill in the random bits. */ - XXXXXX[0] = letters[v % 62]; - v /= 62; - XXXXXX[1] = letters[v % 62]; - v /= 62; - XXXXXX[2] = letters[v % 62]; - v /= 62; - XXXXXX[3] = letters[v % 62]; - v /= 62; - XXXXXX[4] = letters[v % 62]; - v /= 62; - XXXXXX[5] = letters[v % 62]; - - fd = open (tmpl, O_RDWR | O_CREAT | O_EXCL, _S_IREAD | _S_IWRITE); - if (fd >= 0) - { - errno = save_errno; - return fd; - } - else if (errno != EEXIST) - return -1; - } - - /* We got out of the loop because we ran out of combinations to try. */ - errno = EEXIST; - return -1; -} -#endif static void err(const char *fmt, ...) { |