1 // Copyright Maciej Sobczak 2008-2019.
2 // This file is part of YAMI4.
3 //
4 // YAMI4 is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // YAMI4 is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 // GNU General Public License for more details.
13 //
14 // You should have received a copy of the GNU General Public License
15 // along with YAMI4.  If not, see <http://www.gnu.org/licenses/>.
16 
17 #ifndef YAMICORE_STRING_TO_INT_H_INCLUDED
18 #define YAMICORE_STRING_TO_INT_H_INCLUDED
19 
20 #include <cstdlib>
21 
22 namespace examples
23 {
24 
25 // helper function for convering string to int
string_to_int(const char * str,int & value)26 bool string_to_int(const char * str, int & value)
27 {
28     bool result;
29     char * endptr;
30     const long tmp = std::strtol(str, &endptr, 10);
31     if (endptr != str && *endptr == '\0')
32     {
33         value = static_cast<int>(tmp);
34         result = true;
35     }
36     else
37     {
38         result = false;
39     }
40 
41     return result;
42 }
43 
44 } // namespace examples
45 
46 #endif // YAMICORE_STRING_TO_INT_H_INCLUDED
47