1
0
mirror of https://github.com/moparisthebest/wget synced 2024-07-03 16:38:41 -04:00

warc: Fix UUID generation on FreeBSD

This commit is contained in:
Giuseppe Scrivano 2014-06-22 15:19:09 +02:00
parent f3289f76ec
commit 601401da71
4 changed files with 26 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2014-06-22 Giuseppe Scrivano <gscrivan@redhat.com>
* configure.ac: Add check for uuid_create.
2014-06-11 Giuseppe Scrivano <gscrivan@redhat.com> 2014-06-11 Giuseppe Scrivano <gscrivan@redhat.com>
* NEWS: Remove repeated word. * NEWS: Remove repeated word.

View File

@ -541,6 +541,12 @@ fi
dnl dnl
dnl Check for UUID dnl Check for UUID
dnl dnl
AC_CHECK_HEADER(uuid.h,
AC_CHECK_FUNC(uuid, uuid_create,
[AC_DEFINE([HAVE_UUID_CREATE], 1,
[Define if uuid_create is available.])
])
)
AC_CHECK_HEADER(uuid/uuid.h, AC_CHECK_HEADER(uuid/uuid.h,
AC_CHECK_LIB(uuid, uuid_generate, AC_CHECK_LIB(uuid, uuid_generate,

View File

@ -1,3 +1,10 @@
2014-06-22 Giuseppe Scrivano <gscrivan@redhat.com>
* warc.c [HAVE_UUID_CREATE]: Include <uuid.h>
(warc_uuid_str) [HAVE_UUID_CREATE]: Use uuid_create and
uuid_to_string to generate the UUID.
Reported by: Alex Zimnitsky <aavzz@yandex.ru>
2014-06-22 Darshit Shah <darnir@gmail.com> (tiny change) 2014-06-22 Darshit Shah <darnir@gmail.com> (tiny change)
* progress.c (create_image): Align percentage download output better. * progress.c (create_image): Align percentage download output better.

View File

@ -44,8 +44,11 @@ as that of the covered work. */
#ifdef HAVE_LIBZ #ifdef HAVE_LIBZ
#include <zlib.h> #include <zlib.h>
#endif #endif
#ifdef HAVE_LIBUUID #ifdef HAVE_LIBUUID
#include <uuid/uuid.h> #include <uuid/uuid.h>
#elif HAVE_UUID_CREATE
#include <uuid.h>
#endif #endif
#ifndef WINDOWS #ifndef WINDOWS
@ -594,7 +597,7 @@ warc_timestamp (char *timestamp)
strftime (timestamp, 21, "%Y-%m-%dT%H:%M:%SZ", timeinfo); strftime (timestamp, 21, "%Y-%m-%dT%H:%M:%SZ", timeinfo);
} }
#ifdef HAVE_LIBUUID #if HAVE_LIBUUID || HAVE_UUID_CREATE
/* Fills urn_str with a UUID in the format required /* Fills urn_str with a UUID in the format required
for the WARC-Record-Id header. for the WARC-Record-Id header.
The string will be 47 characters long. */ The string will be 47 characters long. */
@ -604,8 +607,13 @@ warc_uuid_str (char *urn_str)
char uuid_str[37]; char uuid_str[37];
uuid_t record_id; uuid_t record_id;
#if HAVE_UUID_CREATE
uuid_create (&record_id, NULL);
uuid_to_string (&record_id, &uuid_str, NULL);
#else
uuid_generate (record_id); uuid_generate (record_id);
uuid_unparse (record_id, uuid_str); uuid_unparse (record_id, uuid_str);
#endif
sprintf (urn_str, "<urn:uuid:%s>", uuid_str); sprintf (urn_str, "<urn:uuid:%s>", uuid_str);
} }