+static void scale(int shift, long long &value) {
+ switch(shift) {
+ case 'K': shift = 10; break;
+ case 'M': shift = 20; break;
+ case 'G': shift = 30; break;
+ default: fatal(0, "invalid scale");
+ }
+ if(value > (LLONG_MAX >> shift))
+ fatal(0, "invalid size");
+ value <<= shift;
+}
+