str2i.cc

00001 // --8<--8<--8<--8<--
00002 //
00003 // Copyright (C) 2006 Smithsonian Astrophysical Observatory
00004 //
00005 // This file is part of suplibxx
00006 //
00007 // suplibxx is free software; you can redistribute it and/or
00008 // modify it under the terms of the GNU General Public License
00009 // as published by the Free Software Foundation; either version 2
00010 // of the License, or (at your option) any later version.
00011 //
00012 // suplibxx is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015 // GNU General Public License for more details.
00016 //
00017 // You should have received a copy of the GNU General Public License
00018 // along with this program; if not, write to the 
00019 //       Free Software Foundation, Inc. 
00020 //       51 Franklin Street, Fifth Floor
00021 //       Boston, MA  02110-1301, USA
00022 //
00023 // -->8-->8-->8-->8--
00024 
00025 #include <limits.h>
00026 #include "str.h"
00027 
00040 int suplib::str2i( const char* txt, int base ) throw( Exception ) {
00041 
00042   try {
00043 
00044     long lresult = str2l( txt, base );
00045 
00046     if ( lresult < INT_MIN || INT_MAX < lresult )
00047       throw Exception( "suplib::str2i( " + string( txt ) + "int ) "
00048                        "Integer out of range" );
00049 
00050     return (int) lresult;
00051 
00052   } catch( Exception& E ) {
00053 
00054     throw;
00055 
00056   }
00057 
00058 }

Generated on Thu Oct 2 20:49:06 2008 for suplibxx by  doxygen 1.5.6