Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/parseargs.cfa

    r7f6e9eb r56e8cb3  
    1919        extern          long long int strtoll (const char* str, char** endptr, int base);
    2020        extern unsigned long long int strtoull(const char* str, char** endptr, int base);
    21         extern                 double strtod  (const char* str, char** endptr);
    2221}
    2322
     
    163162}
    164163
    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 
    174164bool parse(const char * arg, unsigned & value) {
    175165        char * end;
     
    182172}
    183173
    184 bool parse(const char * arg, size_t & value) {
     174bool parse(const char * arg, unsigned long & value) {
    185175        char * end;
    186176        unsigned long long int r = strtoull(arg, &end, 10);
    187177        if(*end != '\0') return false;
    188         if(r > (size_t)MAX) return false;
     178        if(r > (unsigned long)MAX) return false;
    189179
    190180        value = r;
     
    192182}
    193183
    194 bool parse(const char * arg, double & value) {
     184bool 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
     194bool parse(const char * arg, int & value) {
    195195        char * end;
    196         double r = strtod(arg, &end);
     196        int r = strtoll(arg, &end, 10);
    197197        if(*end != '\0') return false;
    198198
Note: See TracChangeset for help on using the changeset viewer.