mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fixed bug #77576 pull the libmagic implementation of gmtime_r
This commit is contained in:
commit
c8ebfaa4eb
2 changed files with 8 additions and 33 deletions
|
@ -23,6 +23,7 @@
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
#include "php.h"
|
||||||
|
|
||||||
#include "file.h"
|
#include "file.h"
|
||||||
|
|
||||||
|
@ -152,7 +153,7 @@ cdf_timespec_to_timestamp(cdf_timestamp_t *t, const struct timespec *ts)
|
||||||
#endif
|
#endif
|
||||||
#ifdef notyet
|
#ifdef notyet
|
||||||
struct tm tm;
|
struct tm tm;
|
||||||
if (gmtime_r(&ts->ts_sec, &tm) == NULL) {
|
if (php_gmtime_r(&ts->ts_sec, &tm) == NULL) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -168,7 +169,7 @@ cdf_timespec_to_timestamp(cdf_timestamp_t *t, const struct timespec *ts)
|
||||||
char *
|
char *
|
||||||
cdf_ctime(const time_t *sec, char *buf)
|
cdf_ctime(const time_t *sec, char *buf)
|
||||||
{
|
{
|
||||||
char *ptr = ctime_r(sec, buf);
|
char *ptr = php_ctime_r(sec, buf);
|
||||||
if (ptr != NULL)
|
if (ptr != NULL)
|
||||||
return buf;
|
return buf;
|
||||||
(void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n",
|
(void)snprintf(buf, 26, "*Bad* %#16.16" INT64_T_FORMAT "x\n",
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
/*
|
/*
|
||||||
* print.c - debugging printout routines
|
* print.c - debugging printout routines
|
||||||
*/
|
*/
|
||||||
#define _GNU_SOURCE
|
|
||||||
#include "php.h"
|
#include "php.h"
|
||||||
|
|
||||||
#include "file.h"
|
#include "file.h"
|
||||||
|
@ -45,11 +44,6 @@ FILE_RCSID("@(#)$File: print.c,v 1.82 2017/02/10 18:14:01 christos Exp $")
|
||||||
#endif
|
#endif
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
#ifdef PHP_WIN32
|
|
||||||
# define asctime_r php_asctime_r
|
|
||||||
# define ctime_r php_ctime_r
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define SZOF(a) (sizeof(a) / sizeof(a[0]))
|
#define SZOF(a) (sizeof(a) / sizeof(a[0]))
|
||||||
|
|
||||||
#include "cdf.h"
|
#include "cdf.h"
|
||||||
|
@ -240,8 +234,8 @@ protected const char *
|
||||||
file_fmttime(uint64_t v, int flags, char *buf)
|
file_fmttime(uint64_t v, int flags, char *buf)
|
||||||
{
|
{
|
||||||
char *pp;
|
char *pp;
|
||||||
time_t t = (time_t)v;
|
time_t t;
|
||||||
struct tm *tm = NULL;
|
struct tm *tm, tmz;
|
||||||
|
|
||||||
if (flags & FILE_T_WINDOWS) {
|
if (flags & FILE_T_WINDOWS) {
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
|
@ -254,33 +248,13 @@ file_fmttime(uint64_t v, int flags, char *buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & FILE_T_LOCAL) {
|
if (flags & FILE_T_LOCAL) {
|
||||||
pp = ctime_r(&t, buf);
|
tm = php_localtime_r(&t, &tmz);
|
||||||
} else {
|
} else {
|
||||||
#ifndef HAVE_DAYLIGHT
|
tm = php_gmtime_r(&t, &tmz);
|
||||||
private int daylight = 0;
|
|
||||||
#ifdef HAVE_TM_ISDST
|
|
||||||
private time_t now = (time_t)0;
|
|
||||||
|
|
||||||
if (now == (time_t)0) {
|
|
||||||
struct tm *tm1;
|
|
||||||
(void)time(&now);
|
|
||||||
tm1 = localtime(&now);
|
|
||||||
if (tm1 == NULL)
|
|
||||||
goto out;
|
|
||||||
daylight = tm1->tm_isdst;
|
|
||||||
}
|
|
||||||
#endif /* HAVE_TM_ISDST */
|
|
||||||
#endif /* HAVE_DAYLIGHT */
|
|
||||||
if (daylight)
|
|
||||||
t += 3600;
|
|
||||||
tm = gmtime(&t);
|
|
||||||
if (tm == NULL)
|
|
||||||
goto out;
|
|
||||||
pp = asctime_r(tm, buf);
|
|
||||||
}
|
}
|
||||||
if (tm == NULL)
|
if (tm == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
pp = asctime_r(tm, buf);
|
pp = php_asctime_r(tm, buf);
|
||||||
|
|
||||||
if (pp == NULL)
|
if (pp == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue