1de23995aSStephan Aßmus /* 2de23995aSStephan Aßmus * Copyright (c) 1998-2007 Matthijs Hollemans 39eb3addaSJonas Sundström * All rights reserved. Distributed under the terms of the MIT License. 4de23995aSStephan Aßmus */ 5de23995aSStephan Aßmus 6de23995aSStephan Aßmus 7de23995aSStephan Aßmus #include "App.h" 8de23995aSStephan Aßmus 995780b64SPhilippe Saint-Pierre #include <TrackerAddOnAppLaunch.h> 1095780b64SPhilippe Saint-Pierre 11973f8e21SSiarzhuk Zharski #include <stdio.h> 12de23995aSStephan Aßmus 13973f8e21SSiarzhuk Zharski #include <Catalog.h> 14973f8e21SSiarzhuk Zharski 15973f8e21SSiarzhuk Zharski #include "DiskUsage.h" 16973f8e21SSiarzhuk Zharski 17*546208a5SOliver Tappe #undef B_TRANSLATION_CONTEXT 18*546208a5SOliver Tappe #define B_TRANSLATION_CONTEXT "DiskUsage" 19973f8e21SSiarzhuk Zharski 20973f8e21SSiarzhuk Zharski entry_ref helpFileRef; 21973f8e21SSiarzhuk Zharski bool helpFileWasFound = false; 22973f8e21SSiarzhuk Zharski 23973f8e21SSiarzhuk Zharski void 248d779aa8SPhilippe Saint-Pierre size_to_string(off_t byteCount, char* name, int maxLength) 25973f8e21SSiarzhuk Zharski { 26973f8e21SSiarzhuk Zharski struct { 27973f8e21SSiarzhuk Zharski off_t limit; 28973f8e21SSiarzhuk Zharski float divisor; 29973f8e21SSiarzhuk Zharski const char* format; 30973f8e21SSiarzhuk Zharski } scale[] = { 31973f8e21SSiarzhuk Zharski { 0x100000, 1024.0, 32973f8e21SSiarzhuk Zharski B_TRANSLATE("%.2f KiB") }, 33973f8e21SSiarzhuk Zharski { 0x40000000, 1048576.0, 34973f8e21SSiarzhuk Zharski B_TRANSLATE("%.2f MiB") }, 35973f8e21SSiarzhuk Zharski { 0x10000000000ull, 1073741824.0, 36973f8e21SSiarzhuk Zharski B_TRANSLATE("%.2f GiB") }, 37973f8e21SSiarzhuk Zharski { 0x4000000000000ull, 1.09951162778e+12, 38973f8e21SSiarzhuk Zharski B_TRANSLATE("%.2f TiB") } 39973f8e21SSiarzhuk Zharski }; 40973f8e21SSiarzhuk Zharski 41973f8e21SSiarzhuk Zharski if (byteCount < 1024) { 428d779aa8SPhilippe Saint-Pierre snprintf(name, maxLength, B_TRANSLATE("%lld bytes"), 438d779aa8SPhilippe Saint-Pierre byteCount); 44973f8e21SSiarzhuk Zharski } else { 45973f8e21SSiarzhuk Zharski int i = 0; 46973f8e21SSiarzhuk Zharski while (byteCount >= scale[i].limit) 47973f8e21SSiarzhuk Zharski i++; 48973f8e21SSiarzhuk Zharski 498d779aa8SPhilippe Saint-Pierre snprintf(name, maxLength, scale[i].format, 508d779aa8SPhilippe Saint-Pierre byteCount / scale[i].divisor); 51973f8e21SSiarzhuk Zharski } 52973f8e21SSiarzhuk Zharski } 53de23995aSStephan Aßmus 54de23995aSStephan Aßmus int 55de23995aSStephan Aßmus main() 56de23995aSStephan Aßmus { 57de23995aSStephan Aßmus App app; 58de23995aSStephan Aßmus app.Run(); 59de23995aSStephan Aßmus return 0; 60de23995aSStephan Aßmus } 61973f8e21SSiarzhuk Zharski 62