Commit 85d78114 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge remote-tracking branch 'origin/maint-0.2.2'

parents 3aade2fa da876aec
Loading
Loading
Loading
Loading

changes/timersub_bug

0 → 100644
+7 −0
Original line number Diff line number Diff line
  o Major bugfixes:
    - Provide correct replacements for the timeradd() and timersub() functions
      for platforms that lack them (for example, windows). The timersub()
      function is used when expiring circuits, timeradd() is currently unused.
      Patch written by Vektor, who also reported the bug. Thanks! Bugfix
      on 0.2.2.24-alpha/0.2.3.1-alpha, fixes bug 4778.
+2 −2
Original line number Diff line number Diff line
@@ -335,7 +335,7 @@ struct tm *tor_gmtime_r(const time_t *timep, struct tm *result);
#define timeradd(tv1,tv2,tvout) \
  do {                                                  \
    (tvout)->tv_sec = (tv1)->tv_sec + (tv2)->tv_sec;    \
    (tvout)->tv_usec = (tv2)->tv_usec + (tv2)->tv_usec; \
    (tvout)->tv_usec = (tv1)->tv_usec + (tv2)->tv_usec; \
    if ((tvout)->tv_usec >= 1000000) {                  \
      (tvout)->tv_usec -= 1000000;                      \
      (tvout)->tv_sec++;                                \
@@ -349,7 +349,7 @@ struct tm *tor_gmtime_r(const time_t *timep, struct tm *result);
#define timersub(tv1,tv2,tvout) \
  do {                                                  \
    (tvout)->tv_sec = (tv1)->tv_sec - (tv2)->tv_sec;    \
    (tvout)->tv_usec = (tv2)->tv_usec - (tv2)->tv_usec; \
    (tvout)->tv_usec = (tv1)->tv_usec - (tv2)->tv_usec; \
    if ((tvout)->tv_usec < 0) {                         \
      (tvout)->tv_usec += 1000000;                      \
      (tvout)->tv_sec--;                                \