From: Johannes Schindelin Date: Wed, 27 Nov 2019 19:39:27 GMT Subject: Re: [PATCH 5/5] mingw: use {gm,local}time_s as backend for {gm,local}time_r Message-ID: In-Reply-To: <2c39f9a04f98fc3d365c80ce57e8edce305846fb.1574867409.git.congdanhqx@gmail.com> Hi Danh, On Wed, 27 Nov 2019, Doan Tran Cong Danh wrote: > diff --git a/compat/mingw.c b/compat/mingw.c > index fe609239dd..7b21f4eee5 100644 > --- a/compat/mingw.c > +++ b/compat/mingw.c > @@ -1,6 +1,7 @@ > #include "../git-compat-util.h" > #include "win32.h" > #include > +#include I actually overlooked this. Please drop this hunk, it should not be needed (and might break things in the MSVC build). Thanks, Dscho > #include > #include "../strbuf.h" > #include "../run-command.h" > @@ -986,16 +987,16 @@ int pipe(int filedes[2]) > > struct tm *gmtime_r(const time_t *timep, struct tm *result) > { > - /* gmtime() in MSVCRT.DLL is thread-safe, but not reentrant */ > - memcpy(result, gmtime(timep), sizeof(struct tm)); > - return result; > + if (gmtime_s(result, timep) == 0) > + return result; > + return NULL; > } > > struct tm *localtime_r(const time_t *timep, struct tm *result) > { > - /* localtime() in MSVCRT.DLL is thread-safe, but not reentrant */ > - memcpy(result, localtime(timep), sizeof(struct tm)); > - return result; > + if (localtime_s(result, timep) == 0) > + return result; > + return NULL; > } > > char *mingw_getcwd(char *pointer, int len) > -- > 2.24.0.158.gd77a74f4dd.dirty > >