LCOV - code coverage report
Current view: top level - AP_Common - time.cpp (source / functions) Hit Total Coverage
Test: lcov.info Lines: 24 24 100.0 %
Date: 2026-09-09 11:02:08 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include "time.h"
       2             : 
       3             : /*
       4             :   mktime replacement from Samba
       5             :  */
       6        1583 : time_t ap_mktime(const struct tm *t)
       7             : {
       8        1583 :     time_t epoch = 0;
       9             :     int n;
      10        1583 :     int mon [] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, y, m, i;
      11        1583 :     const unsigned MINUTE = 60;
      12        1583 :     const unsigned HOUR = 60*MINUTE;
      13        1583 :     const unsigned DAY = 24*HOUR;
      14        1583 :     const unsigned YEAR = 365*DAY;
      15             : 
      16        1583 :     if (t->tm_year < 70) {
      17           4 :         return (time_t)-1;
      18             :     }
      19             : 
      20        1579 :     n = t->tm_year + 1900 - 1;
      21        1579 :     epoch = (t->tm_year - 70) * YEAR +
      22        1579 :             ((n / 4 - n / 100 + n / 400) - (1969 / 4 - 1969 / 100 + 1969 / 400)) * DAY;
      23             : 
      24        1579 :     y = t->tm_year + 1900;
      25        1579 :     m = 0;
      26             : 
      27       16967 :     for (i = 0; i < t->tm_mon; i++) {
      28       15388 :         epoch += mon [m] * DAY;
      29       15388 :         if (m == 1 && y % 4 == 0 && (y % 100 != 0 || y % 400 == 0)) {
      30           4 :             epoch += DAY;
      31             :         }
      32             : 
      33       15388 :         if (++m > 11) {
      34           2 :             m = 0;
      35           2 :             y++;
      36             :         }
      37             :     }
      38             : 
      39        1579 :     epoch += (t->tm_mday - 1) * DAY;
      40        1579 :     epoch += t->tm_hour * HOUR + t->tm_min * MINUTE + t->tm_sec;
      41             : 
      42        1579 :     return epoch;
      43             : }
      44             : 

Generated by: LCOV version 1.14