RTTimeLocalExplode-generic.cpp revision 36aaed80bc48c9ac9b0ef9513c08cc15d629ac42
36aaed80bc48c9ac9b0ef9513c08cc15d629ac42vboxsync/* $Id: $ */
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync/** @file
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync * innotek Portable Runtime - Time, generic RTTimeLocalExplode.
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync */
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync/*
c97989161fbe75bc14cea477a5443bbf474dd3advboxsync * Copyright (C) 2006-2007 innotek GmbH
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync *
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * available from http://www.virtualbox.org. This file is free software;
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * you can redistribute it and/or modify it under the terms of the GNU
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * General Public License as published by the Free Software Foundation,
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * distribution. VirtualBox OSE is distributed in the hope that it will
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync * be useful, but WITHOUT ANY WARRANTY of any kind.
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync */
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync/*******************************************************************************
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync* Header Files *
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync*******************************************************************************/
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync#include <iprt/time.h>
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsyncRTDECL(PRTTIME) RTTimeLocalExplode(PRTTIME pTime, PCRTTIMESPEC pTimeSpec)
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync{
c73f7d585a4e0a070e4c43b86d159887334364a4vboxsync pTime = RTTimeExplode(pTime, pTimeSpec);
c73f7d585a4e0a070e4c43b86d159887334364a4vboxsync if (pTime)
36aaed80bc48c9ac9b0ef9513c08cc15d629ac42vboxsync {
c73f7d585a4e0a070e4c43b86d159887334364a4vboxsync pTime->fFlags = (pTime->fFlags & ~RTTIME_FLAGS_TYPE_MASK) | RTTIME_FLAGS_TYPE_LOCAL;
36aaed80bc48c9ac9b0ef9513c08cc15d629ac42vboxsync pTime->offZone = RTTimeLocalDeltaNano() / (UINT64_C(1000000000)*3600); /** @todo this is obviosly wrong. Need RTTimeLocalDeltaNanoFor(pTimeSpec); */
36aaed80bc48c9ac9b0ef9513c08cc15d629ac42vboxsync }
c73f7d585a4e0a070e4c43b86d159887334364a4vboxsync return pTime;
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync}
c94c8bae1cb22e5a796ec69859d930ffea9d9dddvboxsync