File rasqal-0.9.30-mingw.patch of Package mingw64-rasqal
--- rasqal-0.9.30/src/Makefile.am 2012-06-26 02:54:53.000000000 +0200
+++ rasqal-0.9.30/src/Makefile.am 2014-06-04 11:35:21.422061533 +0200
@@ -159,7 +159,7 @@
endif
-librasqal_la_LDFLAGS = -version-info @RASQAL_LIBTOOL_VERSION@
+librasqal_la_LDFLAGS = -no-undefined -version-info @RASQAL_LIBTOOL_VERSION@
librasqal_la_LIBADD = @LTLIBOBJS@ @RASQAL_INTERNAL_LIBS@ @RASQAL_EXTERNAL_LIBS@ $(MEM_LIBS)
librasqal_la_DEPENDENCIES = @LTLIBOBJS@ @RASQAL_INTERNAL_LIBS@
--- rasqal-0.9.30/src/rasqal_expr_numerics.c 2013-01-22 20:26:51.000000000 +0100
+++ rasqal-0.9.30/src/rasqal_expr_numerics.c 2014-06-04 11:35:21.422061533 +0200
@@ -36,6 +36,7 @@
#include <stdlib.h>
#endif
#include <stdarg.h>
+#include <stdint.h>
#include "rasqal.h"
#include "rasqal_internal.h"
--- rasqal-0.9.30/src/rasqal.h.in 2012-06-26 02:54:53.000000000 +0200
+++ rasqal-0.9.30/src/rasqal.h.in 2014-06-04 11:35:21.423061510 +0200
@@ -1311,6 +1311,7 @@
rasqal_update_operation* rasqal_query_get_update_operation(rasqal_query* query, int idx);
/* results */
+RASQAL_API
int rasqal_query_set_store_results(rasqal_query* query, int store_results);
/* graph patterns */
@@ -1693,6 +1694,8 @@
void rasqal_free_row(rasqal_row* row);
RASQAL_API
int rasqal_row_set_value_at(rasqal_row* row, int offset, rasqal_literal* value);
+RASQAL_API
+int rasqal_row_print(rasqal_row* row, FILE* fh);
/* Triple class */
--- rasqal-0.9.30/src/rasqal_internal.h 2012-07-30 00:21:11.000000000 +0200
+++ rasqal-0.9.30/src/rasqal_internal.h 2014-06-04 11:35:21.424061486 +0200
@@ -1334,7 +1334,6 @@
/* rasqal_row.c */
rasqal_row* rasqal_new_row(rasqal_rowsource* rowsource);
rasqal_row* rasqal_new_row_from_row(rasqal_row* row);
-int rasqal_row_print(rasqal_row* row, FILE* fh);
raptor_sequence* rasqal_new_row_sequence(rasqal_world* world, rasqal_variables_table* vt, const char* const row_data[], int vars_count, raptor_sequence** vars_seq_p);
int rasqal_row_to_nodes(rasqal_row* row);
void rasqal_row_set_values_from_variables_table(rasqal_row* row, rasqal_variables_table* vars_table);
--- rasqal-0.9.30/src/sparql_parser.h 2012-12-17 00:17:29.000000000 +0100
+++ rasqal-0.9.30/src/sparql_parser.h 2014-06-04 11:35:21.424061486 +0200
@@ -34,6 +34,14 @@
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
+
+#ifdef IN
+# undef IN
+#endif
+
+#ifdef DELETE
+# undef DELETE
+#endif
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
--- rasqal-0.9.30/src/timegm.c 2011-08-22 08:06:00.000000000 +0200
+++ rasqal-0.9.30/src/timegm.c 2014-06-04 11:45:57.502111046 +0200
@@ -28,6 +28,65 @@
#include "rasqal_internal.h"
#ifdef WIN32
+
+static int
+rasqal_tmcomp(const struct tm *a, const struct tm *b)
+{
+ int result;
+
+ if (!(result = (a->tm_year - b->tm_year)) &&
+ !(result = (a->tm_mon - b->tm_mon)) &&
+ !(result = (a->tm_mday - b->tm_mday)) &&
+ !(result = (a->tm_hour - b->tm_hour)) &&
+ !(result = (a->tm_min - b->tm_min)))
+ result = a->tm_sec - b->tm_sec;
+ return result;
+}
+
+static time_t
+rasqal_mkgmtime(struct tm *tmp)
+{
+ int dir;
+ int bits;
+ int saved_seconds;
+ time_t t;
+ struct tm yourtm, *mytm;
+
+ yourtm = *tmp;
+ saved_seconds = yourtm.tm_sec;
+ yourtm.tm_sec = 0;
+
+ for (bits = 0, t = 1; t > 0; ++bits, t <<= 1)
+ ;
+
+ t = (t < 0) ? 0 : ((time_t) 1 << bits);
+
+ if (bits > 40) bits = 40;
+
+ for (; ;)
+ {
+ mytm = gmtime(&t);
+
+ if (!mytm) return -1;
+
+ dir = rasqal_tmcomp(mytm, &yourtm);
+ if (dir != 0)
+ {
+ if (bits-- < 0)
+ return -1;
+ if (bits < 0)
+ --t;
+ else if (dir > 0)
+ t -= (time_t) 1 << bits;
+ else t += (time_t) 1 << bits;
+ continue;
+ }
+ break;
+ }
+ t += saved_seconds;
+ return t;
+}
+
time_t
rasqal_timegm(struct tm *tm)
{
@@ -38,7 +97,7 @@
/* _mkgmtime() changes the value of the struct tm* you pass in, so
* use a copy
*/
- return _mkgmtime(&my_tm);
+ return rasqal_mkgmtime(&my_tm);
}
#else
--- rasqal-0.9.30/src/win32_rasqal_config.h.in 2012-05-15 06:33:58.000000000 +0200
+++ rasqal-0.9.30/src/win32_rasqal_config.h.in 2014-06-04 11:35:21.424061486 +0200
@@ -25,6 +25,7 @@
#ifndef WIN32_CONFIG_H
#define WIN32_CONFIG_H
+#include <time.h>
#ifdef __cplusplus
extern "C" {
@@ -55,19 +56,8 @@
} timeval;
#endif
-struct timezone
-{
- int tz_minuteswest; /* minutes West of Greenwich */
- int tz_dsttime; /* type of dst correction */
-};
-
-int rasqal_gettimeofday(struct timeval *tv, struct timezone *tz);
-#undef HAVE_GETTIMEOFDAY
-
#include <float.h>
#define isnan(n) _isnan(n)
-/* no round function available */
-#define round(x) floor(x+0.5)
/* These are SPARQL token definitions */
#ifdef OPTIONAL