Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • benchmark/io/http/parseargs.cfa

    r3f1d9b5 r53e4562  
    33// #include <stdio.h>
    44// #include <stdlib.h>
    5 #include <errno.h>
    65#include <string.h>
    7 #include <unistd.h>
    86extern "C" {
    97        #include <getopt.h>
    10         #include <sys/ioctl.h>
    118
    129        struct FILE;
     
    1411        extern FILE * stdout;
    1512
    16         extern int fileno(FILE *stream);
    17 
    1813        extern int fprintf ( FILE * stream, const char * format, ... );
    1914
    2015        extern          long long int strtoll (const char* str, char** endptr, int base);
    2116        extern unsigned long long int strtoull(const char* str, char** endptr, int base);
    22 }
    23 
    24 #include <common.hfa>
    25 #include <limits.hfa>
    26 
    27 void printopt(FILE * out, int width, int max, char sn, const char * ln, const char * help) {
    28         int hwidth = max - (11 + width);
    29         if(hwidth <= 0) hwidth = max;
    30 
    31         fprintf(out, "  -%c, --%-*s   %.*s\n", sn, width, ln, hwidth, help);
    32         for() {
    33                 help += min(strlen(help), hwidth);
    34                 if('\0' == *help) break;
    35                 fprintf(out, "%*s%.*s\n", width + 11, "", hwidth, help);
    36         }
    3717}
    3818
     
    4727        struct option optarr[opt_count + 2];
    4828        int width = 0;
    49         int max_width = 1_000_000;
    5029        {
    5130                int idx = 0;
     
    11695        }
    11796
    118         USAGE:;
    119         int outfd = fileno(out);
    120         if(isatty(outfd)) {
    121                 struct winsize size;
    122                 int ret = ioctl(outfd, TIOCGWINSZ, &size);
    123                 if(ret < 0) abort( "ioctl error: (%d) %s\n", (int)errno, strerror(errno) );
    124                 max_width = size.ws_col;
    125         }
    126 
     97        USAGE:
    12798        fprintf(out, "Usage:\n  %s %s\n", argv[0], usage);
    12899
    129100        for(i; opt_count) {
    130                 printopt(out, width, max_width, options[i].short_name, options[i].long_name, options[i].help);
     101                fprintf(out, "  -%c, --%-*s   %s\n", options[i].short_name, width, options[i].long_name, options[i].help);
    131102        }
    132103        fprintf(out, "  -%c, --%-*s   %s\n", 'h', width, "help", "print this help message");
     
    167138        unsigned long long int r = strtoull(arg, &end, 10);
    168139        if(*end != '\0') return false;
    169         if(r > (unsigned)MAX) return false;
     140#warning not checking max
    170141
    171142        value = r;
     
    177148        unsigned long long int r = strtoull(arg, &end, 10);
    178149        if(*end != '\0') return false;
    179         if(r > (size_t)MAX) return false;
     150#warning not checking max
    180151
    181152        value = r;
Note: See TracChangeset for help on using the changeset viewer.