mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-24 12:39:58 +08:00
s-os_lib.ads, [...] (GM_Time_Of): New routine to create an OS_Time from time parts.
2014-07-18 Pascal Obry <obry@adacore.com> * s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an OS_Time from time parts. * adaint.h, adaint.c (__gnat_to_os_time): New routine. From-SVN: r212788
This commit is contained in:
parent
6907542db4
commit
c3d01e19a3
@ -1,3 +1,9 @@
|
||||
2014-07-18 Pascal Obry <obry@adacore.com>
|
||||
|
||||
* s-os_lib.ads, s-os_lib.adb (GM_Time_Of): New routine to create an
|
||||
OS_Time from time parts.
|
||||
* adaint.h, adaint.c (__gnat_to_os_time): New routine.
|
||||
|
||||
2014-07-18 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch4.adb (Try_Container_Indexing): Refine previous patch for
|
||||
|
@ -503,6 +503,25 @@ __gnat_to_gm_time (OS_Time *p_time, int *p_year, int *p_month, int *p_day,
|
||||
*p_year = *p_month = *p_day = *p_hours = *p_mins = *p_secs = 0;
|
||||
}
|
||||
|
||||
void
|
||||
__gnat_to_os_time (OS_Time *p_time, int year, int month, int day,
|
||||
int hours, int mins, int secs)
|
||||
{
|
||||
struct tm v;
|
||||
|
||||
v.tm_year = year;
|
||||
v.tm_mon = month;
|
||||
v.tm_mday = day;
|
||||
v.tm_hour = hours;
|
||||
v.tm_min = mins;
|
||||
v.tm_sec = secs;
|
||||
v.tm_isdst = 0;
|
||||
|
||||
/* returns -1 of failing, this is s-os_lib Invalid_Time */
|
||||
|
||||
*p_time = (OS_Time) mktime (&v);
|
||||
}
|
||||
|
||||
/* Place the contents of the symbolic link named PATH in the buffer BUF,
|
||||
which has size BUFSIZ. If PATH is a symbolic link, then return the number
|
||||
of characters of its content in BUF. Otherwise, return -1.
|
||||
|
@ -107,6 +107,8 @@ extern void __gnat_current_time_string (char *);
|
||||
extern void __gnat_to_gm_time (OS_Time *, int *, int *,
|
||||
int *, int *,
|
||||
int *, int *);
|
||||
extern void __gnat_to_os_time (OS_Time *, int, int, int,
|
||||
int, int, int);
|
||||
extern int __gnat_get_maximum_file_name_length (void);
|
||||
extern int __gnat_get_switches_case_sensitive (void);
|
||||
extern int __gnat_get_file_names_case_sensitive (void);
|
||||
|
@ -1308,6 +1308,28 @@ package body System.OS_Lib is
|
||||
Second := S;
|
||||
end GM_Split;
|
||||
|
||||
----------------
|
||||
-- GM_Time_Of --
|
||||
----------------
|
||||
|
||||
function GM_Time_Of
|
||||
(Year : Year_Type;
|
||||
Month : Month_Type;
|
||||
Day : Day_Type;
|
||||
Hour : Hour_Type;
|
||||
Minute : Minute_Type;
|
||||
Second : Second_Type) return OS_Time
|
||||
is
|
||||
procedure To_OS_Time
|
||||
(P_Time_T : Address; Year, Month, Day, Hours, Mins, Secs : Integer);
|
||||
pragma Import (C, To_OS_Time, "__gnat_to_os_time");
|
||||
Result : OS_Time;
|
||||
begin
|
||||
To_OS_Time
|
||||
(Result'Address, Year - 1900, Month - 1, Day, Hour, Minute, Second);
|
||||
return Result;
|
||||
end GM_Time_Of;
|
||||
|
||||
-------------
|
||||
-- GM_Year --
|
||||
-------------
|
||||
|
@ -152,6 +152,17 @@ package System.OS_Lib is
|
||||
-- provides a representation of it as a set of component parts, to be
|
||||
-- interpreted as a date point in UTC.
|
||||
|
||||
function GM_Time_Of
|
||||
(Year : Year_Type;
|
||||
Month : Month_Type;
|
||||
Day : Day_Type;
|
||||
Hour : Hour_Type;
|
||||
Minute : Minute_Type;
|
||||
Second : Second_Type) return OS_Time;
|
||||
-- Analogous to the Time_Of routine in Ada.Calendar, takes a set of
|
||||
-- time component parts and returns an OS_Time. Returns Invalid_Time
|
||||
-- if the creation fails.
|
||||
|
||||
----------------
|
||||
-- File Stuff --
|
||||
----------------
|
||||
|
Loading…
Reference in New Issue
Block a user