(str2time_t): be more careful with strptime that might zero out the
`struct tm' git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@8783 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -171,7 +171,8 @@ int
|
|||||||
str2time_t (const char *str, time_t *time)
|
str2time_t (const char *str, time_t *time)
|
||||||
{
|
{
|
||||||
const char *p;
|
const char *p;
|
||||||
struct tm tm;
|
struct tm tm, tm2;
|
||||||
|
char *t;
|
||||||
|
|
||||||
memset (&tm, 0, sizeof (tm));
|
memset (&tm, 0, sizeof (tm));
|
||||||
|
|
||||||
@@ -186,11 +187,15 @@ str2time_t (const char *str, time_t *time)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Do it on the end of the day */
|
/* Do it on the end of the day */
|
||||||
tm.tm_hour = 23;
|
tm2.tm_hour = 23;
|
||||||
tm.tm_min = 59;
|
tm2.tm_min = 59;
|
||||||
tm.tm_sec = 59;
|
tm2.tm_sec = 59;
|
||||||
|
|
||||||
strptime (p, "%H:%M:%S", &tm);
|
if(strptime (p, "%H:%M:%S", &tm2) != NULL) {
|
||||||
|
tm.tm_hour = tm2.tm_hour;
|
||||||
|
tm.tm_min = tm2.tm_min;
|
||||||
|
tm.tm_sec = tm2.tm_sec;
|
||||||
|
}
|
||||||
|
|
||||||
*time = tm2time (tm, 0);
|
*time = tm2time (tm, 0);
|
||||||
return 0;
|
return 0;
|
||||||
|
Reference in New Issue
Block a user