Fix system call related date builtin functions
Related issues: #213, #691 * Fixed 'ecma_date_local_tza' and 'ecma_date_daylight_saving_ta' date builtin helper functions * Added syscall of gettimeofday function to get the current system time and timezone. * Fixed related regression test files. JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
/* Copyright 2016 Samsung Electronics Co., Ltd.
|
||||
* Copyright 2016 University of Szeged
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
#ifndef JERRY_LIBC_TIME_H
|
||||
#define JERRY_LIBC_TIME_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
# define EXTERN_C "C"
|
||||
#else /* !__cplusplus */
|
||||
# define EXTERN_C
|
||||
#endif /* !__cplusplus */
|
||||
|
||||
/**
|
||||
* Time value structure
|
||||
*/
|
||||
struct _timeval
|
||||
{
|
||||
unsigned long tv_sec; /**< seconds */
|
||||
unsigned long tv_usec; /**< microseconds */
|
||||
};
|
||||
|
||||
/**
|
||||
* Timezone structure
|
||||
*/
|
||||
struct timezone
|
||||
{
|
||||
int tz_minuteswest; /**< minutes west of Greenwich */
|
||||
int tz_dsttime; /**< type of DST correction */
|
||||
};
|
||||
|
||||
extern EXTERN_C int gettimeofday (void *tp, void *tzp);
|
||||
|
||||
#endif /* !JERRY_LIBC_TIME_H */
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Copyright 2014-2015 Samsung Electronics Co., Ltd.
|
||||
/* Copyright 2014-2016 Samsung Electronics Co., Ltd.
|
||||
* Copyright 2016 University of Szeged.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,6 +29,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "jerry-libc-defs.h"
|
||||
|
||||
@@ -384,3 +386,14 @@ fwrite (const void *ptr, /**< data to write */
|
||||
return bytes_written / size;
|
||||
} /* fwrite */
|
||||
|
||||
/**
|
||||
* This function can get the time as well as a timezone.
|
||||
*
|
||||
* @return 0 if success, -1 otherwise
|
||||
*/
|
||||
int
|
||||
gettimeofday (void *tp, /**< struct timeval */
|
||||
void *tzp) /**< struct timezone */
|
||||
{
|
||||
return (int) syscall_2 (__NR_gettimeofday, (long int) tp, (long int) tzp);
|
||||
} /* gettimeofday */
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Copyright 2014-2015 Samsung Electronics Co., Ltd.
|
||||
/* Copyright 2014-2016 Samsung Electronics Co., Ltd.
|
||||
* Copyright 2016 University of Szeged.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -28,6 +29,7 @@
|
||||
#include <sys/resource.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "jerry-libc-defs.h"
|
||||
|
||||
@@ -384,6 +386,18 @@ fwrite (const void *ptr, /**< data to write */
|
||||
return bytes_written / size;
|
||||
} /* fwrite */
|
||||
|
||||
/**
|
||||
* This function can get the time as well as a timezone.
|
||||
*
|
||||
* @return 0 if success, -1 otherwise
|
||||
*/
|
||||
int
|
||||
gettimeofday (void *tp, /**< struct timeval */
|
||||
void *tzp) /**< struct timezone */
|
||||
{
|
||||
return (int) syscall_2 (__NR_gettimeofday, (long int) tp, (long int) tzp);
|
||||
} /* gettimeofday */
|
||||
|
||||
// FIXME
|
||||
#if 0
|
||||
/**
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* Copyright 2015 Samsung Electronics Co., Ltd.
|
||||
/* Copyright 2015-2016 Samsung Electronics Co., Ltd.
|
||||
* Copyright 2016 University of Szeged.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -19,6 +20,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "jerry-libc-defs.h"
|
||||
|
||||
@@ -61,3 +63,14 @@ fwrite (const void *ptr __attr_unused___, /**< data to write */
|
||||
return size * nmemb;
|
||||
} /* fwrite */
|
||||
|
||||
/**
|
||||
* This function can get the time as well as a timezone.
|
||||
*
|
||||
* @return 0 if success, -1 otherwise
|
||||
*/
|
||||
int
|
||||
gettimeofday (void *tp __attr_unused___, /**< struct timeval */
|
||||
void *tzp __attr_unused___) /**< struct timezone */
|
||||
{
|
||||
return 0;
|
||||
} /* gettimeofday */
|
||||
|
||||
Reference in New Issue
Block a user