[syslog-ng]Syslog 1.4.12, Solaris 8-x86: Too few arguments...
Balazs Scheidler
bazsi@balabit.hu
Mon, 16 Jul 2001 10:29:15 +0200
On Fri, Jul 13, 2001 at 11:25:10PM +0200, Sander wrote:
> I'm trying to compile syslog-ng 1.4.12 using gcc-2.95.3 and
> receive this error:
>
> gcc -DHAVE_CONFIG_H -I. -I/v/src/syslog-ng-1.4.12/src
> -I. -O2 -Wall -I/usr/local/include/libol -D_GNU_SOURCE
> -c afstreams.c
> afstreams.c: In function `io_stream_get':
> afstreams.c:167: too few arguments to function `init_file'
> *** Error code 1
> make: Fatal error: Command failed for target `afstreams.o'
> Current working directory /v/src/syslog-ng-1.4.12/src
> *** Error code 1
> make: Fatal error: Command failed for target `all-recursive'
try this patch:
diff -u -r1.10.2.1 afstreams.c
--- afstreams.c 2001/02/25 12:30:22 1.10.2.1
+++ afstreams.c 2001/07/16 08:26:55
@@ -164,7 +164,7 @@
{
NEW(stream_fd, f);
- init_file(backend, &f->super, fd);
+ init_file(backend, &f->super, fd, NULL);
f->super.prepare = prepare_stream_fd;
f->super.read = stream_read_callback;
f->super.want_read = 1;
> P.S.:
> Another minor point (just a warning), gcc also complains
> about this:
> gcc -DHAVE_CONFIG_H -I. -I/v/src/syslog-ng-1.4.12/src
> -I. -O2 -Wall -I/usr/local/include/libol -D_GNU_SOURCE
> -c log.c
> log.c: In function `parse_log_msg':
> log.c:58: warning: subscript has type `char'
as it seems the isdigit() implementation uses an array to decide whether a
character is digit or not. The problem might be if character is above 127,
in which case the array is indexed with a negative value. Try this patch:
diff -u -r1.19.4.3 log.c
--- log.c 2001/06/11 07:44:55 1.19.4.3
+++ log.c 2001/07/16 08:28:02
@@ -40,7 +40,7 @@
static void parse_log_msg(struct log_info *lm, UINT32 length, UINT8 *data)
{
- char *src;
+ unsigned char *src;
int left;
int pri;
time_t now = time(NULL);
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1