File: sun_fixes.c

package info (click to toggle)
uwsgi 2.0.31-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,564 kB
  • sloc: ansic: 87,066; python: 7,004; cpp: 1,133; java: 708; perl: 678; sh: 585; ruby: 555; makefile: 148; xml: 130; cs: 121; objc: 37; php: 28; erlang: 20; javascript: 11
file content (29 lines) | stat: -rw-r--r-- 644 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* function written by Ben Taylor (found in the qemu-devel list) */

#include "../uwsgi.h"

time_t timegm(struct tm *t) {
	time_t tl, tb;
	struct tm *tg;

	tl = mktime (t);
	if (tl == -1) {
        	t->tm_hour--;
        	tl = mktime (t);
        	if (tl == -1)
            		return -1; /* can't deal with output from strptime */

        	tl += 3600;
    	}
    	tg = gmtime (&tl);
    	tg->tm_isdst = 0;
   	tb = mktime (tg);
    	if (tb == -1) {
        	tg->tm_hour--;
        	tb = mktime (tg);
        	if (tb == -1)
           		return -1; /* can't deal with output from gmtime */
        	tb += 3600;
    	}
	return (tl - (tb - tl));
}