Changes in libcfa/src/parseargs.cfa [7f6e9eb:56e8cb3]
- File:
-
- 1 edited
-
libcfa/src/parseargs.cfa (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/parseargs.cfa
r7f6e9eb r56e8cb3 19 19 extern long long int strtoll (const char* str, char** endptr, int base); 20 20 extern unsigned long long int strtoull(const char* str, char** endptr, int base); 21 extern double strtod (const char* str, char** endptr);22 21 } 23 22 … … 163 162 } 164 163 165 bool parse(const char * arg, int & value) {166 char * end;167 int r = strtoll(arg, &end, 10);168 if(*end != '\0') return false;169 170 value = r;171 return true;172 }173 174 164 bool parse(const char * arg, unsigned & value) { 175 165 char * end; … … 182 172 } 183 173 184 bool parse(const char * arg, size_t& value) {174 bool parse(const char * arg, unsigned long & value) { 185 175 char * end; 186 176 unsigned long long int r = strtoull(arg, &end, 10); 187 177 if(*end != '\0') return false; 188 if(r > ( size_t)MAX) return false;178 if(r > (unsigned long)MAX) return false; 189 179 190 180 value = r; … … 192 182 } 193 183 194 bool parse(const char * arg, double & value) { 184 bool parse(const char * arg, unsigned long long & value) { 185 char * end; 186 unsigned long long int r = strtoull(arg, &end, 10); 187 if(*end != '\0') return false; 188 if(r > (unsigned long long)MAX) return false; 189 190 value = r; 191 return true; 192 } 193 194 bool parse(const char * arg, int & value) { 195 195 char * end; 196 double r = strtod(arg, &end);196 int r = strtoll(arg, &end, 10); 197 197 if(*end != '\0') return false; 198 198
Note:
See TracChangeset
for help on using the changeset viewer.