File indexing completed on 2024-04-14 05:45:56

0001 /*
0002     This file is part of the Okteta Gui library, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2003 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "offsetformat.hpp"
0010 
0011 // Std
0012 #include <cstdio>
0013 
0014 namespace Okteta {
0015 
0016 const unsigned int OffsetFormat::CodingWidth[3] = { 9, 10, 11 };
0017 
0018 const OffsetFormat::print OffsetFormat::PrintFunction[3] = {
0019     OffsetFormat::printHexadecimalOffset,
0020     OffsetFormat::printDecimalOffset,
0021     OffsetFormat::printOctalOffset,
0022 };
0023 
0024 void OffsetFormat::printHexadecimalOffset(char* Buffer, unsigned int Offset)
0025 {
0026     sprintf(Buffer, "%04X:%04X", Offset >> 16, Offset & 0x0000FFFF);
0027 }
0028 
0029 void OffsetFormat::printHexadecimalSmallOffset(char* Buffer, unsigned int Offset)
0030 {
0031     sprintf(Buffer, "%04x:%04x", Offset >> 16, Offset & 0x0000FFFF);
0032 }
0033 
0034 void OffsetFormat::printDecimalOffset(char* Buffer, unsigned int Offset)
0035 {
0036     sprintf(Buffer, "%010u", Offset);
0037 }
0038 
0039 void OffsetFormat::printOctalOffset(char* Buffer, unsigned int Offset)
0040 {
0041     sprintf(Buffer, "%011o", Offset);
0042 }
0043 
0044 }