Hallvard B Furuseth wrote:
Might be better to insert the following at the end of libraries/liblutil/utils.c:lutil_progname():
#if <something> { size_t len = strlen( progname ); if ( len > 4 && strcasecmp( progname + len - 4, ".exe" ) == 0 ) progname[len - 4] = '\0'; } #endif
I have no idea what the #if should be though. Does #ifdef _WIN32 still work with cross-compilation?
Yes, I think that's a neater solution. Having a runtime conditional avoids breaking Cygwin binaries that might not have .exe in progname, too.
To be honest, I'm not sure whether the compiler/configure defines _WIN32 for cross compilation by default. I could easily find out, but to be honest, I don't think it's worth it: you pretty much have to ensure it's defined because there are many places in the source code it is used. Using it here as well seems smart.
Cheers,
Ben.