iperf_time_diff * * Calculates the time from time2 to time1, assuming time1 is later than time2. * The diff will always be positive, so the return value should be checked * to determine if time1 was earlier than time2. * * Returns 1 if the time1 is less than or equal to time2, otherwise 0. */
| 140 | * Returns 1 if the time1 is less than or equal to time2, otherwise 0. |
| 141 | */ |
| 142 | int |
| 143 | iperf_time_diff(struct iperf_time *time1, struct iperf_time *time2, struct iperf_time *diff) |
| 144 | { |
| 145 | int past = 0; |
| 146 | int cmp = 0; |
| 147 | |
| 148 | cmp = iperf_time_compare(time1, time2); |
| 149 | if (cmp == 0) { |
| 150 | diff->secs = 0; |
| 151 | diff->usecs = 0; |
| 152 | past = 1; |
| 153 | } |
| 154 | else if (cmp == 1) { |
| 155 | diff->secs = time1->secs - time2->secs; |
| 156 | diff->usecs = time1->usecs; |
| 157 | if (diff->usecs < time2->usecs) { |
| 158 | diff->secs -= 1; |
| 159 | diff->usecs += 1000000; |
| 160 | } |
| 161 | diff->usecs = diff->usecs - time2->usecs; |
| 162 | } else { |
| 163 | diff->secs = time2->secs - time1->secs; |
| 164 | diff->usecs = time2->usecs; |
| 165 | if (diff->usecs < time1->usecs) { |
| 166 | diff->secs -= 1; |
| 167 | diff->usecs += 1000000; |
| 168 | } |
| 169 | diff->usecs = diff->usecs - time1->usecs; |
| 170 | past = 1; |
| 171 | } |
| 172 | |
| 173 | return past; |
| 174 | } |
no test coverage detected
searching dependent graphs…