view src/timeconv.h @ 355:d1f930be4711

From Jeffrey Morlan: pst_build_id_ptr and pst_build_desc_ptr require that the first child of a BTree page have the same starting ID as itself. This is not required by the spec, and is not true in many real-world PSTs (presumably, the original first child of the page got deleted). Because of this, many emails are not being extracted from these PSTs. It also triggers an infinite loop in lspst (a separate bug, also fixed)
author Carl Byington <carl@five-ten-sg.com>
date Wed, 06 Jul 2016 10:12:22 -0700
parents e3a46f66332b
children ad7b880ad3d1
line wrap: on
line source

#ifndef __PST_TIMECONV_H
#define __PST_TIMECONV_H

#include "common.h"

#ifdef __cplusplus
extern "C" {
#endif
    /** Convert a FILETIME to ascii printable local time.
       @param[in]  filetime time structure to be converted
       @param[out] result   pointer to output buffer, must be at least 30 bytes.
       @return     result pointer to the output buffer
     */
    char* pst_fileTimeToAscii (const FILETIME* filetime, char* result);

    /** Convert a FILETIME to unix struct tm.
       @param[in]  filetime time structure to be converted
       @param[out] result   pointer to output struct tm
     */
    void pst_fileTimeToStructTM (const FILETIME* filetime, struct tm *result);

    /** Convert a FILETIME to unix time_t value.
       @param[in]  filetime time structure to be converted
       @return     result time_t value
     */
    time_t pst_fileTimeToUnixTime( const FILETIME* filetime);
#ifdef __cplusplus
}
#endif

#endif