VirtualBox

Changeset 54775 in vbox


Ignore:
Timestamp:
Mar 16, 2015 10:59:50 AM (10 years ago)
Author:
vboxsync
Message:

iprt/time.h: fixed typo in RTTimeSpecSubSeconds(). Changed to using conversion macros to reduce change of typos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/time.h

    r54270 r54775  
    9393DECLINLINE(int64_t) RTTimeSpecGetMicro(PCRTTIMESPEC pTime)
    9494{
    95     return pTime->i64NanosecondsRelativeToUnixEpoch / 1000;
     95    return pTime->i64NanosecondsRelativeToUnixEpoch / RT_NS_1US;
    9696}
    9797
     
    106106DECLINLINE(PRTTIMESPEC) RTTimeSpecSetMicro(PRTTIMESPEC pTime, int64_t i64Micro)
    107107{
    108     pTime->i64NanosecondsRelativeToUnixEpoch = i64Micro * 1000;
     108    pTime->i64NanosecondsRelativeToUnixEpoch = i64Micro * RT_NS_1US;
    109109    return pTime;
    110110}
     
    119119DECLINLINE(int64_t) RTTimeSpecGetMilli(PCRTTIMESPEC pTime)
    120120{
    121     return pTime->i64NanosecondsRelativeToUnixEpoch / 1000000;
     121    return pTime->i64NanosecondsRelativeToUnixEpoch / RT_NS_1MS;
    122122}
    123123
     
    132132DECLINLINE(PRTTIMESPEC) RTTimeSpecSetMilli(PRTTIMESPEC pTime, int64_t i64Milli)
    133133{
    134     pTime->i64NanosecondsRelativeToUnixEpoch = i64Milli * 1000000;
     134    pTime->i64NanosecondsRelativeToUnixEpoch = i64Milli * RT_NS_1MS;
    135135    return pTime;
    136136}
     
    145145DECLINLINE(int64_t) RTTimeSpecGetSeconds(PCRTTIMESPEC pTime)
    146146{
    147     return pTime->i64NanosecondsRelativeToUnixEpoch / 1000000000;
     147    return pTime->i64NanosecondsRelativeToUnixEpoch / RT_NS_1SEC;
    148148}
    149149
     
    158158DECLINLINE(PRTTIMESPEC) RTTimeSpecSetSeconds(PRTTIMESPEC pTime, int64_t i64Seconds)
    159159{
    160     pTime->i64NanosecondsRelativeToUnixEpoch = i64Seconds * 1000000000;
     160    pTime->i64NanosecondsRelativeToUnixEpoch = i64Seconds * RT_NS_1SEC;
    161161    return pTime;
    162162}
     
    227227DECLINLINE(PRTTIMESPEC) RTTimeSpecAddMicro(PRTTIMESPEC pTime, int64_t i64Micro)
    228228{
    229     pTime->i64NanosecondsRelativeToUnixEpoch += i64Micro * 1000;
     229    pTime->i64NanosecondsRelativeToUnixEpoch += i64Micro * RT_NS_1US;
    230230    return pTime;
    231231}
     
    241241DECLINLINE(PRTTIMESPEC) RTTimeSpecAddMilli(PRTTIMESPEC pTime, int64_t i64Milli)
    242242{
    243     pTime->i64NanosecondsRelativeToUnixEpoch += i64Milli * 1000000;
     243    pTime->i64NanosecondsRelativeToUnixEpoch += i64Milli * RT_NS_1MS;
    244244    return pTime;
    245245}
     
    255255DECLINLINE(PRTTIMESPEC) RTTimeSpecAddSeconds(PRTTIMESPEC pTime, int64_t i64Seconds)
    256256{
    257     pTime->i64NanosecondsRelativeToUnixEpoch += i64Seconds * 1000000000;
     257    pTime->i64NanosecondsRelativeToUnixEpoch += i64Seconds * RT_NS_1SEC;
    258258    return pTime;
    259259}
     
    297297DECLINLINE(PRTTIMESPEC) RTTimeSpecSubMicro(PRTTIMESPEC pTime, int64_t i64Micro)
    298298{
    299     pTime->i64NanosecondsRelativeToUnixEpoch -= i64Micro * 1000;
     299    pTime->i64NanosecondsRelativeToUnixEpoch -= i64Micro * RT_NS_1US;
    300300    return pTime;
    301301}
     
    311311DECLINLINE(PRTTIMESPEC) RTTimeSpecSubMilli(PRTTIMESPEC pTime, int64_t i64Milli)
    312312{
    313     pTime->i64NanosecondsRelativeToUnixEpoch -= i64Milli * 1000000;
     313    pTime->i64NanosecondsRelativeToUnixEpoch -= i64Milli * RT_NS_1MS;
    314314    return pTime;
    315315}
     
    325325DECLINLINE(PRTTIMESPEC) RTTimeSpecSubSeconds(PRTTIMESPEC pTime, int64_t i64Seconds)
    326326{
    327     pTime->i64NanosecondsRelativeToUnixEpoch -= i64Seconds * 100000000;
    328     return pTime;
     327    pTime->i64NanosecondsRelativeToUnixEpoch -= i64Seconds * RT_NS_1SEC;
     328    return pTime;
     329}
     330
     331
     332/**
     333 * Gives the time in seconds and nanoseconds.
     334 *
     335 * @returns pTime.
     336 * @param   pTime           The time spec to interpret.
     337 * @param   *pi32Seconds    Where to store the time period in seconds.
     338 * @param   *pi32Nano       Where to store the time period in nanoseconds.
     339 */
     340DECLINLINE(void) RTTimeSpecGetSecondsAndNano(PRTTIMESPEC pTime, int32_t *pi32Seconds, int32_t *pi32Nano)
     341{
     342    int64_t i64 = RTTimeSpecGetNano(pTime);
     343    int32_t i32Nano = (int32_t)(i64 % RT_NS_1SEC);
     344    i64 /= RT_NS_1SEC;
     345    if (i32Nano < 0)
     346    {
     347        i32Nano += RT_NS_1SEC;
     348        i64--;
     349    }
     350    *pi32Seconds = (int32_t)i64;
     351    *pi32Nano    = i32Nano;
    329352}
    330353
     
    342365{
    343366    int64_t i64 = RTTimeSpecGetMicro(pTime);
    344     int32_t i32Micro = (int32_t)(i64 % 1000000);
    345     i64 /= 1000000;
     367    int32_t i32Micro = (int32_t)(i64 % RT_US_1SEC);
     368    i64 /= RT_US_1SEC;
    346369    if (i32Micro < 0)
    347370    {
    348         i32Micro += 1000000;
     371        i32Micro += RT_US_1SEC;
    349372        i64--;
    350373    }
     
    380403{
    381404    int64_t i64 = RTTimeSpecGetNano(pTime);
    382     int32_t i32Nano = (int32_t)(i64 % 1000000000);
    383     i64 /= 1000000000;
     405    int32_t i32Nano = (int32_t)(i64 % RT_NS_1SEC);
     406    i64 /= RT_NS_1SEC;
    384407    if (i32Nano < 0)
    385408    {
    386         i32Nano += 1000000000;
     409        i32Nano += RT_NS_1SEC;
    387410        i64--;
    388411    }
     
    482505{
    483506    return (pTime->i64NanosecondsRelativeToUnixEpoch - RTTIME_OFFSET_DOS_TIME)
    484         / 1000000000;
     507        / RT_NS_1SEC;
    485508}
    486509
     
    495518DECLINLINE(PRTTIMESPEC) RTTimeSpecSetDosSeconds(PRTTIMESPEC pTime, int64_t i64Seconds)
    496519{
    497     pTime->i64NanosecondsRelativeToUnixEpoch = i64Seconds * 1000000000
     520    pTime->i64NanosecondsRelativeToUnixEpoch = i64Seconds * RT_NS_1SEC
    498521        + RTTIME_OFFSET_DOS_TIME;
    499522    return pTime;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette