ibara / oksh

Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh).
361 stars 38 forks source link

add check for timerclear and implementation #60

Closed alisonatwork closed 3 years ago

alisonatwork commented 3 years ago

timeradd and timersub were added in d595cab75b9ec1e3a98536f5591a02d1f2d6102a but in cases where the BSD headers aren't defined we are missing timerclear too.

ibara commented 3 years ago

Thanks. Out of curiosity, is there a system you're on that had this issue? Would be good for me to add to the collection of testing OSes.

alisonatwork commented 3 years ago

At the moment I don't want to be too optimistic about actually getting a functioning shell out of this work, but I thought this might be a good project to put on my list of stuff I am using as a test of different functionality in the Cosmopolitan libc (https://github.com/jart/cosmopolitan). If I get an actually functioning build working against that libc, I'll be thrilled, although it probably won't easily be mergeable since some of the things that a normal UNIX would expect to be constant (RLIMIT_*, SIG* etc) are calculated at runtime.

Just the process of compiling is shaking out a few quirks both in oksh and Cosmopolitan, though. I haven't opened PRs for these because they might be digging too deep into OpenBSD internals and they're mostly harmless, but if you compile with -Wredundant-decls there are a few things that could perhaps be cleaned a bit (e.g. static int x_comment(int); appears on both line 155 and 213 of emacs.c).