On Thu, Feb 03, 2005 at 03:42:57PM -0500, Jonathan Glass wrote:
> This works for compiling, but tell me what you get when you try to run
> flow-capture. I've tested on x86_64 and i386, and 0.59-0.67 give the same
> error in syslog:
>
> Feb 3 13:03:02 cambia2 flow-capture[21683]:
> ftfile_mkpath(2005/tmp-v05.2005-02-03.130302-0500): Value too large for
> defined data type
flow-tools erroneously assumes that 'unsigned int' == 'long' and that
'unsigned int' == 'unsigned 32 bit int'. the former is not true in 64
bit platforms and the latter is hazardous, but less likely to break much.
ftlib.h:#define u_int32 unsigned int
v-----------------------------unsigned int
ftfile.c:int ftfile_mkpath(u_int32 ftime, int nest)
struct file {
[...]
time_t time; <--- gentoo may define this as 'long' which is 64bit on 64bit
archs
[...]
}
> I'm at a loss.
%%
#include <sys/types.h>
#include <time.h>
int
main(void)
{
printf("%u ?= %u\n", sizeof(time_t), sizeof(unsigned int));
}
%%
compile that:
$ cc -o foo foo.c
$ ./foo
i'd go on about posix and such, but there's plenty of docs available on
what the 'right way' of manipulating/displaying fixed sizes in C is.
--
- bill fumerola / [EMAIL PROTECTED]
_______________________________________________
Flow-tools mailing list
[EMAIL PROTECTED]
http://mailman.splintered.net/mailman/listinfo/flow-tools