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