Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F117885976
gmtoff_gmtime.c
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Authored By
Unknown
Size
2 KB
Referenced Files
None
Subscribers
None
gmtoff_gmtime.c
View Options
/* gmtoff_tm.c - Get offset from GMT by calling gmtime and subtracting
*
* Copyright (c) 1994-2008 Carnegie Mellon University. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The name "Carnegie Mellon University" must not be used to
* endorse or promote products derived from this software without
* prior written permission. For permission or any legal
* details, please contact
* Carnegie Mellon University
* Center for Technology Transfer and Enterprise Creation
* 4615 Forbes Avenue
* Suite 302
* Pittsburgh, PA 15213
* (412) 268-7393, fax: (412) 268-7395
* innovation@andrew.cmu.edu
*
* 4. Redistributions of any form whatsoever must retain the following
* acknowledgment:
* "This product includes software developed by Computing Services
* at Carnegie Mellon University (http://www.cmu.edu/computing/)."
*
* CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include
<config.h>
/*
* Returns the GMT offset of the struct tm 'tm', obtained from 'time'.
*/
EXPORTED
int
gmtoff_of
(
struct
tm
*
tm
,
time_t
time
)
{
struct
tm
local
,
gmt
;
struct
tm
*
gtm
;
long
offset
;
local
=
*
tm
;
gtm
=
gmtime
(
&
time
);
gmt
=
*
gtm
;
/* Assume we are never more than 24 hours away. */
offset
=
local
.
tm_yday
-
gmt
.
tm_yday
;
if
(
offset
>
1
)
{
offset
=
-24
;
}
else
if
(
offset
<
-1
)
{
offset
=
24
;
}
else
{
offset
*=
24
;
}
/* Scale in the hours and minutes; ignore seconds. */
offset
+=
local
.
tm_hour
-
gmt
.
tm_hour
;
offset
*=
60
;
offset
+=
local
.
tm_min
-
gmt
.
tm_min
;
/* Restore the data in the struct 'tm' points to */
*
tm
=
local
;
return
offset
*
60
;
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Mon, Apr 6, 2:19 AM (1 w, 3 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
e7/74/f0cb8551e1f38cb1528ff4b569c5
Default Alt Text
gmtoff_gmtime.c (2 KB)
Attached To
Mode
R111 cyrus-imapd
Attached
Detach File
Event Timeline