summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2021-08-23 20:27:40 +0700
committerPierre Joye <pierre.php@gmail.com>2021-08-23 20:27:40 +0700
commit18324c72c29971f2497b76ffe9a1eabfe8e6ec3d (patch)
treefd2216e0727b4c6284a26e0fa18912adeec21565 /src
parent5a34892fe2e7039e4f586a74111f7523699ff538 (diff)
downloadlibgd-18324c72c29971f2497b76ffe9a1eabfe8e6ec3d.tar.gz
tried, remove it from windows build, will need portable codes elsewhere
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/webpng.c89
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, ...)
{