Fix 64-bit-ness in Database.xs
OUTPUT:
RETVAL
-int _store(struct blerg *ptr, const char *data, int length(data))
+const char * _store(struct blerg *ptr, const char *data, int length(data))
PROTOTYPE: $$
- CODE:
- RETVAL = blerg_store(ptr, data, XSauto_length_of_data);
- OUTPUT:
- RETVAL
+ INIT:
+ uint64_t record;
+ char buf[21];
+ int n;
+ PPCODE:
+ record = blerg_store(ptr, data, XSauto_length_of_data);
+ n = snprintf(buf, 21, "%llu", record);
+ XPUSHs(sv_2mortal(newSVpv(buf, n)));
-const char * _fetch(struct blerg *ptr, int record)
+const char * _fetch(struct blerg *ptr, const char *str_record)
INIT:
+ uint64_t record;
char *buf;
int buflen;
int n;
PPCODE:
+ record = strtoull(str_record, NULL, 0);
n = blerg_fetch(ptr, record, &buf, &buflen);
if (!n) {
XSRETURN_UNDEF;
n = snprintf(buf, 21, "%llu", count);
XPUSHs(sv_2mortal(newSVpv(buf, n)));
-time_t _get_timestamp(struct blerg *ptr, int record)
+time_t _get_timestamp(struct blerg *ptr, const char *str_record)
+ INIT:
+ uint64_t record;
CODE:
+ record = strtoull(str_record, NULL, 0);
RETVAL = blerg_get_timestamp(ptr, record);
OUTPUT:
RETVAL