Skip to content

[Compilation Error] dprintf argument mismatch #5

@incognitte

Description

@incognitte

Compiling on Haiku OS R1/beta3 (Revision hrev55181+62) x86_gcc2 fails with the following error.

/boot/home/driveencryption/lib/crypt.cpp:1442: passing const char *' to argument 1 of dprintf(int, const char *, ...)' lacks a cast
/boot/system/develop/headers/posix/stdio.h:174: too few arguments to function `int dprintf(int, const char *, ...)'
/boot/home/driveencryption/lib/crypt.cpp:1442: at this point in file
/boot/system/develop/etc/makefile-engine:300: recipe for target 'objects.x86-cc2-release/crypt.o' failed
make[1]: *** [objects.x86-cc2-release/crypt.o] Error 1
make[1]: Leaving directory '/boot/home/driveencryption/lib'
makefile:3: recipe for target 'default' failed
make: *** [default] Error 2

A closer inspection suggests that dprintf in posix/stdio.h expects file handle as the first argument

extern int		dprintf(int fd, char const *format, ...) __PRINTFLIKE(2,3);

while crypt.cpp calls it without this argument (an example)

	dprintf("magic: %.4s\n", (char*)&header.magic);

I suspect this error is caused after this commit to Haiku OS

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions