From 53e3cc52279fecc7bacbad823f80ec60a4ab931c Mon Sep 17 00:00:00 2001 From: Siarzhuk Zharski Date: Sat, 26 Feb 2011 22:04:38 +0000 Subject: [PATCH] Some buffers become too small for localized strings. Pointed out by Diver. Thanks. Fixes #6664 and #6591. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40706 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/diskprobe/ProbeView.cpp | 8 +++++--- src/kits/tracker/InfoWindow.cpp | 16 ++++++++-------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/apps/diskprobe/ProbeView.cpp b/src/apps/diskprobe/ProbeView.cpp index 6a61b5ac81..3f26c83219 100644 --- a/src/apps/diskprobe/ProbeView.cpp +++ b/src/apps/diskprobe/ProbeView.cpp @@ -740,11 +740,13 @@ HeaderView::UpdateOffsetViews(bool all) void HeaderView::UpdateFileSizeView() { + BString string(B_TRANSLATE("of ")); char buffer[64]; - strcpy(buffer, B_TRANSLATE("of ")); - FormatValue(buffer + 3, sizeof(buffer) - 3, + FormatValue(buffer, sizeof(buffer), (fFileSize + fBlockSize - 1) / fBlockSize); - fSizeView->SetText(buffer); + string << buffer; + + fSizeView->SetText(string.String()); } diff --git a/src/kits/tracker/InfoWindow.cpp b/src/kits/tracker/InfoWindow.cpp index ca1f3270c5..93fa8c3833 100644 --- a/src/kits/tracker/InfoWindow.cpp +++ b/src/kits/tracker/InfoWindow.cpp @@ -1549,15 +1549,15 @@ AttributeView::CheckAndSetSize() fFreeBytes = freeBytes; - char capacityStr[16], usedStr[16], freeStr[16]; - string_for_size(capacity, capacityStr, sizeof(capacityStr)); - string_for_size(capacity - fFreeBytes, usedStr, sizeof(usedStr)); - string_for_size(fFreeBytes, freeStr, sizeof(freeStr)); - fSizeStr.SetTo(B_TRANSLATE("%capacity (%used used -- %free free)")); - fSizeStr.ReplaceFirst("%capacity", capacityStr); - fSizeStr.ReplaceFirst("%used", usedStr); - fSizeStr.ReplaceFirst("%free", freeStr); + + char sizeStr[128]; + string_for_size(capacity, sizeStr, sizeof(sizeStr)); + fSizeStr.ReplaceFirst("%capacity", sizeStr); + string_for_size(capacity - fFreeBytes, sizeStr, sizeof(sizeStr)); + fSizeStr.ReplaceFirst("%used", sizeStr); + string_for_size(fFreeBytes, sizeStr, sizeof(sizeStr)); + fSizeStr.ReplaceFirst("%free", sizeStr); } else if (fModel->IsFile()) { // poll for size changes because they do not get node monitored