[Help-glpk] Thred safety

2017-01-28 Thread Heinrich Schuchardt
Here is a list of functions that are not thread safe under POSIX 2008: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09_01 Problematic coding includes: strtok used in mplsql.c gmtime used in time.c strerror used in stream.c, gzguts.h, mpl6.c, glprpr.c I wonder

Re: [Help-glpk] things I don't understand in src/env/time.c + bugs + suggested patch

2017-01-28 Thread Chris Matrakidis
Hi Andrew, > Not sure, but gmtime_s looks like a MSVC function. Could you point me > out where gmtime_s is standardized? Thanks. gmtime_s is included in the (optional) annex K of C11. However, the parameters are reversed compared to the MSVC version and the standard one returns struct tm * while

[Help-glpk] GLPK for Windows 4.61

2017-01-28 Thread Heinrich Schuchardt
GLPK for Windows 4.61 has been released. It is available at http://winglpk.sourceforge.net. It comes with 32bit (cdecl and stdcall) and 64bit binaries and libraries. Examples for usage with VBA (Visual Basic for Applications) and LibreOffice have been added. The distribution includes Glpk for

Re: [Help-glpk] things I don't understand in src/env/time.c + bugs + suggested patch

2017-01-28 Thread David Monniaux
On 01/28/2017 02:35 PM, Heinrich Schuchardt wrote: > > 1E3 * 1E-3 = 1. > You wouldn't add seconds and microseconds without scaling. Typo (silly copying and pasting). It should have read: return tv.tv_sec * 1E3 + tv.tv_usec * 1E-3; -- David Monniaux directeur de recherche au CNRS, laboratoire

Re: [Help-glpk] things I don't understand in src/env/time.c + bugs + suggested patch

2017-01-28 Thread Andrew Makhorin
> Over glpk-4.61 > > src/env/time.c contains: > > double glp_time(void) > { struct timeval tv; > struct tm *tm; > int j; > double t; > gettimeofday(, NULL); > tm = gmtime(_sec); > j = jday(tm->tm_mday, tm->tm_mon + 1, 1900 + tm->tm_year); > xassert(j

Re: [Help-glpk] things I don't understand in src/env/time.c + bugs + suggested patch

2017-01-28 Thread Heinrich Schuchardt
On 01/28/2017 01:31 PM, David Monniaux wrote: > Over glpk-4.61 > > src/env/time.c contains: > > double glp_time(void) > { struct timeval tv; > struct tm *tm; > int j; > double t; > gettimeofday(, NULL); > tm = gmtime(_sec); > j = jday(tm->tm_mday,