+ /* opt_show_intval_si */
+ {
+ int i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = -77;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "-77") == 0);
+ i = 0;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "0") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 77;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "77") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = -1234 * k;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "-1234k") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 500 * M;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "500M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1000 * M;
+ opt_show_intval_si(buf, &i);
+ ok1(strcmp(buf, "1G") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+
+ /* opt_show_longval_si */
+ {
+ long i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = -77;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "-77") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 77;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "77") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = -1 * k;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "-1k") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 500 * M;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "500M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1000 * M;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "1G") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 0;
+ opt_show_longval_si(buf, &i);
+ ok1(strcmp(buf, "0") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+
+ /* opt_show_llongval_si */
+ {
+ long long i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = -7777;
+ opt_show_longlongval_si(buf, &i);
+ ok1(strcmp(buf, "-7777") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 7777;
+ opt_show_longlongval_si(buf, &i);
+ ok1(strcmp(buf, "7777") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = -10240000 * k;
+ opt_show_longlongval_si(buf, &i);
+ ok1(strcmp(buf, "-10240M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 5 * P;
+ opt_show_longlongval_si(buf, &i);
+ ok1(strcmp(buf, "5P") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 2000 * P;
+ opt_show_longlongval_si(buf, &i);
+ ok1(strcmp(buf, "2E") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+
+ /* opt_show_uintval_si */
+ {
+ unsigned int i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = 77;
+ opt_show_uintval_si(buf, &i);
+ ok1(strcmp(buf, "77") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1234 * k;
+ opt_show_uintval_si(buf, &i);
+ ok1(strcmp(buf, "1234k") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 500 * M;
+ opt_show_uintval_si(buf, &i);
+ ok1(strcmp(buf, "500M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1000 * M;
+ opt_show_uintval_si(buf, &i);
+ ok1(strcmp(buf, "1G") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+
+ /* opt_show_ulongval_si */
+ {
+ unsigned long i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = 77;
+ opt_show_ulongval_si(buf, &i);
+ ok1(strcmp(buf, "77") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = k;
+ opt_show_ulongval_si(buf, &i);
+ ok1(strcmp(buf, "1k") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 500 * M;
+ opt_show_ulongval_si(buf, &i);
+ ok1(strcmp(buf, "500M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1024 * M;
+ opt_show_ulongval_si(buf, &i);
+ ok1(strcmp(buf, "1024M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 0;
+ opt_show_ulongval_si(buf, &i);
+ ok1(strcmp(buf, "0") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+
+ /* opt_show_ullongval_si */
+ {
+ long long i;
+ char buf[OPT_SHOW_LEN+2] = { 0 };
+ buf[OPT_SHOW_LEN] = '!';
+ i = 7777;
+ opt_show_ulonglongval_si(buf, (unsigned long long *)&i);
+ ok1(strcmp(buf, "7777") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 10240000 * k;
+ opt_show_ulonglongval_si(buf, (unsigned long long *)&i);
+ ok1(strcmp(buf, "10240M") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 5 * P;
+ opt_show_ulonglongval_si(buf, (unsigned long long *)&i);
+ ok1(strcmp(buf, "5P") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ i = 1000 * P;
+ opt_show_ulonglongval_si(buf, (unsigned long long *)&i);
+ ok1(strcmp(buf, "1E") == 0);
+ ok1(buf[OPT_SHOW_LEN] == '!');
+ }
+