1*cf5a6c84SAndroid Build Coastguard Worker /* demo_number.c - Expose atolx() and human_readable() for testing. 2*cf5a6c84SAndroid Build Coastguard Worker * 3*cf5a6c84SAndroid Build Coastguard Worker * Copyright 2015 Rob Landley <[email protected]> 4*cf5a6c84SAndroid Build Coastguard Worker 5*cf5a6c84SAndroid Build Coastguard Worker USE_DEMO_NUMBER(NEWTOY(demo_number, "D#=3<3M#<0hcdbs", TOYFLAG_BIN)) 6*cf5a6c84SAndroid Build Coastguard Worker 7*cf5a6c84SAndroid Build Coastguard Worker config DEMO_NUMBER 8*cf5a6c84SAndroid Build Coastguard Worker bool "demo_number" 9*cf5a6c84SAndroid Build Coastguard Worker default n 10*cf5a6c84SAndroid Build Coastguard Worker help 11*cf5a6c84SAndroid Build Coastguard Worker usage: demo_number [-hsbi] [-D LEN] NUMBER... 12*cf5a6c84SAndroid Build Coastguard Worker 13*cf5a6c84SAndroid Build Coastguard Worker -D output field is LEN chars 14*cf5a6c84SAndroid Build Coastguard Worker -M input units (index into bkmgtpe) 15*cf5a6c84SAndroid Build Coastguard Worker -c Comma comma down do be do down down 16*cf5a6c84SAndroid Build Coastguard Worker -b Use "B" for single byte units (HR_B) 17*cf5a6c84SAndroid Build Coastguard Worker -d Decimal units 18*cf5a6c84SAndroid Build Coastguard Worker -h Human readable 19*cf5a6c84SAndroid Build Coastguard Worker -s Space between number and units (HR_SPACE) 20*cf5a6c84SAndroid Build Coastguard Worker */ 21*cf5a6c84SAndroid Build Coastguard Worker 22*cf5a6c84SAndroid Build Coastguard Worker #define FOR_demo_number 23*cf5a6c84SAndroid Build Coastguard Worker #include "toys.h" 24*cf5a6c84SAndroid Build Coastguard Worker GLOBALS(long M,D;)25*cf5a6c84SAndroid Build Coastguard WorkerGLOBALS( 26*cf5a6c84SAndroid Build Coastguard Worker long M, D; 27*cf5a6c84SAndroid Build Coastguard Worker ) 28*cf5a6c84SAndroid Build Coastguard Worker 29*cf5a6c84SAndroid Build Coastguard Worker void demo_number_main(void) 30*cf5a6c84SAndroid Build Coastguard Worker { 31*cf5a6c84SAndroid Build Coastguard Worker char **arg; 32*cf5a6c84SAndroid Build Coastguard Worker 33*cf5a6c84SAndroid Build Coastguard Worker for (arg = toys.optargs; *arg; arg++) { 34*cf5a6c84SAndroid Build Coastguard Worker long long ll = atolx(*arg); 35*cf5a6c84SAndroid Build Coastguard Worker 36*cf5a6c84SAndroid Build Coastguard Worker if (toys.optflags) { 37*cf5a6c84SAndroid Build Coastguard Worker human_readable_long(toybuf, ll, TT.D, TT.M, toys.optflags); 38*cf5a6c84SAndroid Build Coastguard Worker xputs(toybuf); 39*cf5a6c84SAndroid Build Coastguard Worker } else printf("%lld\n", ll); 40*cf5a6c84SAndroid Build Coastguard Worker } 41*cf5a6c84SAndroid Build Coastguard Worker } 42