-
Notifications
You must be signed in to change notification settings - Fork 135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Windows build and add Windows to the CI lineup #112
Conversation
9756fb6
to
33f34d7
Compare
33f34d7
to
70c538c
Compare
I believe the heap corruption comes from |
* Use `getopt()` iff `<unistd.h>` nor `<getopt.h>` is available. * Rewrite the `getopt()` loop to match the prevailing code style. * Fix additional style issues introduced when the `getopt()` loop was added. * Rename `output_fd` to `outf` since it is not a file descriptor. This allows the tests to build on Windows again.
0462d76
to
06303fb
Compare
d1e011f
to
4790988
Compare
This will build the library and the test suite (narrow version only) and run the tests.
Update the compatibility matrix to reflect the current development and CI environments, and rephrase the surrounding text to be a little more generic.
4790988
to
844ad58
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These all look good to me, with two minor questions.
-
I have an ancient (pre-ANSI-C) minimal implementation of getopt() that I use for windows stuff. It uses <stdio.h> (for fprintf(stderr,...) and <string.h> (for strchr()). If I clean it up to the GNU style conventions would it make sense to have it in the "tests" directory (or maybe the "win32" directory) for retest and test-str-source? We'd use the system getopt() when available obviously, but I'd like a working "-o" option on Windows. Adding it would probably be best as a completely separate pull request.
-
It would be nice to test the return code of tre_regcomp(). Testing that (in my own repo) is what eventually led me to finding the missing {}s.
I have some further additions that I would like to see, but I think the best way to do them is commit these first and let me pull them to my repository for merging and eventual inclusion in a future pull request.
844ad58
to
e449e37
Compare
I've added error checking for |
* Remove `AM_PROG_CC_C_O`, it is implied my `AC_PROG_CC`. * Move `AC_USE_SYSTEM_EXTENSIONS` up as it need to precede any check that uses the compiler.
The target demographic for a PS3 port rounds to zero, and we have no way of maintaining it. Anyone interested in this is better off maintaining their own fork.
e449e37
to
fb7216f
Compare
Re your getopt for a windows platform:
On Fri, 13 Sep 2024, 01:54 trushworth, ***@***.***> wrote:
***@***.**** approved this pull request.
These all look good to me, with two minor questions.
1.
I have an ancient (pre-ANSI-C) minimal implementation of getopt() that
I use for windows stuff. It uses <stdio.h> (for fprintf(stderr,...) and
<string.h> (for strchr()). If I clean it up to the GNU style conventions
would it make sense to have it in the "tests" directory (or maybe the
"win32" directory) for retest and test-str-source? We'd use the system
getopt() when available obviously, but I'd like a working "-o" option on
Windows. Adding it would probably be best as a completely separate pull req
May I suggest https://github.com/kimgr/getopt_port as a very nice getopt
+getopt_long replacement instead? It's BSD licensed so nicely unburdened
that way too. I've used my own getopt implementation for years (decades,
really) on Win32 and other platforms but switched to using this one a few
years ago and it hasn't failed me since. git submodule add or git subtree
add... :-)
Thanks for maintaining tre and all the recent activity. Respectable.
|
This is a work in progress. Visual Studio reports a heap overflow in
retest
, so I'm not running tests in CI until I've found and fixed the cause.