sl@0: // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // Name         : strtof.cpp
sl@0: // Part of      : MRT
sl@0: // Implementation for wcpcpy API
sl@0: // Version      : 1.0
sl@0: //
sl@0: 
sl@0: 
sl@0:  
sl@0: 
sl@0: #include <e32math.h>
sl@0: #include <stdlib.h>
sl@0: #include <errno.h>
sl@0: #include <math.h>
sl@0: 
sl@0: extern "C" {
sl@0: 
sl@0: EXPORT_C float strtof(const char* s, char** tail)
sl@0: {
sl@0: 	double d ;
sl@0: 	d = strtod(s, tail);
sl@0: 		
sl@0: 	if ( d > KMaxTReal32 )
sl@0: 	{
sl@0: 		errno = ERANGE;
sl@0: 		return -HUGE_VALF ;
sl@0: 	}
sl@0: 	if ( d < 0.0)
sl@0: 	{
sl@0: 		d *= -1;
sl@0: 		if (d < KMinTReal32)
sl@0: 		{
sl@0: 			errno = ERANGE;
sl@0: 			return HUGE_VALF ;
sl@0: 		}
sl@0: 		d *= -1;
sl@0: 	}		
sl@0: 		return d;
sl@0: }
sl@0: 
sl@0: } //extern "C"