Hi,

I noticed that strmode(3) says that the first argument should be
mode_t. OpenBSD declares it with int which is not compatible since
mode_t appears to be unsigned, from what I can tell.

NetBSD fixed this a long time ago and FreeBSD did the same before the
14.0 release.

Apologies for the lack of diff, I don't have access to an OpenBSD
machine at the moment. I think something like this would work though:

In sys/_types.h:

#ifndef _MODE_T_DEFINED_
#define _MODE_T_DEFINED_
typedef __mode_t        mode_t
#endif

and then in string.h:

#ifndef _MODE_T_DEFINED_
#define _MODE_T_DEFINED_
typedef __mode_t        mode_t
#endif
void     strmode(mode_t, char *);

Thanks,
Collin

Reply via email to