90 lines
3.1 KiB
Diff
90 lines
3.1 KiB
Diff
|
diff -up acct-6.5.1/configure.pom acct-6.5.1/configure
|
||
|
--- acct-6.5.1/configure.pom 2009-09-06 20:06:58.000000000 +0200
|
||
|
+++ acct-6.5.1/configure 2009-12-21 15:24:37.000000000 +0100
|
||
|
@@ -3684,12 +3684,12 @@ fi
|
||
|
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
|
||
|
$as_echo "$ac_cv_prog_cc_g" >&6; }
|
||
|
if test "$ac_test_CFLAGS" = set; then
|
||
|
- CFLAGS=$ac_save_CFLAGS
|
||
|
+ CFLAGS="$ac_save_CFLAGS -D_FILE_OFFSET_BITS=64"
|
||
|
elif test $ac_cv_prog_cc_g = yes; then
|
||
|
if test "$GCC" = yes; then
|
||
|
- CFLAGS="-g -O2"
|
||
|
+ CFLAGS="-g -O2 -D_FILE_OFFSET_BITS=64"
|
||
|
else
|
||
|
- CFLAGS="-g"
|
||
|
+ CFLAGS="-g -D_FILE_OFFSET_BITS=64"
|
||
|
fi
|
||
|
else
|
||
|
if test "$GCC" = yes; then
|
||
|
diff -up acct-6.5.1/file_rd.c.pom acct-6.5.1/file_rd.c
|
||
|
--- acct-6.5.1/file_rd.c.pom 2009-09-06 01:39:50.000000000 +0200
|
||
|
+++ acct-6.5.1/file_rd.c 2009-12-21 15:26:30.000000000 +0100
|
||
|
@@ -7,6 +7,9 @@
|
||
|
|
||
|
#include "config.h"
|
||
|
|
||
|
+#define _LARGEFILE_SOURCE 1
|
||
|
+#define _FILE_OFFSET_BITS 64
|
||
|
+
|
||
|
#include <stdio.h>
|
||
|
|
||
|
#ifdef HAVE_STRING_H
|
||
|
@@ -103,9 +106,9 @@ char *file_reader_get_entry(struct file_
|
||
|
|
||
|
if (fri->backwards)
|
||
|
{
|
||
|
- long offset, max_recs, recs_to_read;
|
||
|
+ off_t offset, max_recs, recs_to_read;
|
||
|
|
||
|
- if ((offset = ftell (fri->fp)) <= 0)
|
||
|
+ if ((offset = ftello (fri->fp)) <= 0)
|
||
|
goto no_more_records;
|
||
|
|
||
|
/* Read as many records as possible, up to
|
||
|
@@ -124,8 +127,8 @@ char *file_reader_get_entry(struct file_
|
||
|
|
||
|
if (debugging_enabled)
|
||
|
{
|
||
|
- long new_offset = ftell (fri->fp);
|
||
|
- fprintf (stddebug, "Did seek in file %ld --> %ld\n",
|
||
|
+ off_t new_offset = ftello (fri->fp);
|
||
|
+ fprintf (stddebug, "Did seek in file %lld --> %lld\n",
|
||
|
offset, new_offset);
|
||
|
}
|
||
|
|
||
|
@@ -134,7 +137,7 @@ char *file_reader_get_entry(struct file_
|
||
|
fatal ("get_entry: couldn't read from file");
|
||
|
|
||
|
if (debugging_enabled)
|
||
|
- fprintf (stddebug, "Got %ld records from file\n",
|
||
|
+ fprintf (stddebug, "Got %lld records from file\n",
|
||
|
recs_to_read);
|
||
|
|
||
|
/* don't need to check this, because the above read was fine */
|
||
|
diff -up acct-6.5.1/file_rd.h.pom acct-6.5.1/file_rd.h
|
||
|
--- acct-6.5.1/file_rd.h.pom 2009-09-05 03:15:49.000000000 +0200
|
||
|
+++ acct-6.5.1/file_rd.h 2009-12-21 15:27:24.000000000 +0100
|
||
|
@@ -4,6 +4,8 @@
|
||
|
* record-oriented files.
|
||
|
*
|
||
|
*/
|
||
|
+#define __USE_XOPEN
|
||
|
+#include <unistd.h>
|
||
|
|
||
|
struct file_list
|
||
|
{
|
||
|
@@ -19,9 +21,9 @@ struct file_rd_info
|
||
|
because we close files as soon as
|
||
|
we find their ends and free their
|
||
|
entries from the linked list */
|
||
|
- int recs_read; /* how many records are in our buffer? */
|
||
|
- int recs_left; /* how many records are left in the
|
||
|
- buffer to be used? */
|
||
|
+ off_t recs_read; /* how many records are in our buffer? */
|
||
|
+ off_t recs_left; /* how many records are left in the
|
||
|
+ buffer to be used? */
|
||
|
void *buffer; /* the buffer for the data */
|
||
|
int buffered_records; /* how many records to buffer */
|
||
|
int record_size; /* how big is each record? */
|