Make constants const, to avoid unnecessary symbols in the .data section

parent 5a3984c5
......@@ -138,7 +138,7 @@ namespace Private {
}
inline void resetEmptyRectangle(const QPointF &pt, QRectF *rc) {
static qreal eps = 1e-10;
static const qreal eps = 1e-10;
*rc = QRectF(pt, QSizeF(eps, eps));
}
}
......
......@@ -18,5 +18,5 @@
#include "exr_extra_tags.h"
const char * EXR_NAME = "exr_name";
const char * EXR_KRITA_LAYERS = "krita_layers_info";
const char EXR_NAME[] = "exr_name";
const char EXR_KRITA_LAYERS[] = "krita_layers_info";
......@@ -19,8 +19,8 @@
#ifndef __EXR_EXTRA_TAGS_H
#define __EXR_EXTRA_TAGS_H
extern const char * EXR_NAME;
extern const char * EXR_KRITA_LAYERS;
extern const char EXR_NAME[];
extern const char EXR_KRITA_LAYERS[];
#endif /* __EXR_EXTRA_TAGS_H */
......@@ -25,7 +25,7 @@
#include <QColor>
// Header format of saved files.
uchar targaMagic[12] = { 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
const uchar targaMagic[12] = { 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
enum TGAType {
TGA_TYPE_INDEXED = 1,
......
......@@ -39,7 +39,7 @@ struct PrecisionValues {
};
const qreal eps = 1e-6;
static PrecisionValues precisionLevels[] = {
static const PrecisionValues precisionLevels[] = {
{M_PI / 180, 0.05, 1, 0.01},
{M_PI / 180, 0.01, 1, 0.01},
{M_PI / 180, 0, 1, 0.01},
......@@ -59,7 +59,7 @@ struct KisDabCache::SavedDabParameters {
MirrorProperties mirrorProperties;
bool compare(const SavedDabParameters &rhs, int precisionLevel) const {
PrecisionValues &prec = precisionLevels[precisionLevel];
const PrecisionValues &prec = precisionLevels[precisionLevel];
return color == rhs.color &&
qAbs(angle - rhs.angle) <= prec.angle &&
......
......@@ -102,7 +102,7 @@ DecorationLine decors[20] =
};
#define DECORATION_COUNT 5
int decorsIndex[DECORATION_COUNT] = {0,4,12,18,20};
const int decorsIndex[DECORATION_COUNT] = {0,4,12,18,20};
KisToolCrop::KisToolCrop(KoCanvasBase * canvas)
: KisTool(canvas, KisCursor::load("tool_crop_cursor.png", 6, 6))
......
......@@ -102,7 +102,7 @@ struct KisX11Data
};
/* Warning: if you modify this string, modify the list of atoms in KisX11Data as well! */
static const char * kis_x11_atomnames = {
static const char kis_x11_atomnames[] = {
// Wacom old. (before version 0.10)
"Wacom Stylus\0"
"Wacom Cursor\0"
......
......@@ -128,7 +128,7 @@ QCursor KisCursor::pickerCursor()
QCursor KisCursor::pickerPlusCursor()
{
static unsigned char pickerplus_bits[] = {
static const unsigned char pickerplus_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x80, 0x1e,
0x00, 0x00, 0x40, 0x1f, 0x00, 0x00, 0xb0, 0x1f, 0x00, 0x00, 0xe8, 0x0f,
......@@ -151,7 +151,7 @@ QCursor KisCursor::pickerPlusCursor()
QCursor KisCursor::pickerMinusCursor()
{
static unsigned char pickerminus_bits[] = {
static const unsigned char pickerminus_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x80, 0x1e,
0x00, 0x00, 0x40, 0x1f, 0x00, 0x00, 0xb0, 0x1f, 0x00, 0x00, 0xe8, 0x0f,
......@@ -178,7 +178,7 @@ QCursor KisCursor::pickLayerCursor()
QCursor KisCursor::penCursor()
{
static unsigned char pen_bits[] = {
static const unsigned char pen_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x3a, 0x00, 0x00, 0x7d,
0x00, 0x80, 0x7e, 0x00, 0x40, 0x7f, 0x00, 0xa0, 0x3f, 0x00, 0xd0, 0x1f,
0x00, 0xe8, 0x0f, 0x00, 0xf4, 0x07, 0x00, 0xfa, 0x03, 0x00, 0xfd, 0x01,
......@@ -195,7 +195,7 @@ QCursor KisCursor::penCursor()
QCursor KisCursor::brushCursor()
{
static unsigned char brush_bits[] = {
static const unsigned char brush_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x68, 0x00,
0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfd, 0x00,
0x00, 0x80, 0x7e, 0x00, 0x00, 0x40, 0x3f, 0x00, 0x00, 0xa0, 0x1f, 0x00,
......@@ -214,7 +214,7 @@ QCursor KisCursor::brushCursor()
QCursor KisCursor::airbrushCursor()
{
static unsigned char airbrush_bits[] = {
static const unsigned char airbrush_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x68, 0x00, 0x00, 0x74,
0x00, 0x00, 0x7a, 0xf0, 0x00, 0x3d, 0x08, 0x81, 0x1e, 0xe8, 0x41, 0x0f,
0xe8, 0xa1, 0x07, 0xe8, 0xd1, 0x03, 0xe8, 0xe9, 0x01, 0xe8, 0xf5, 0x00,
......@@ -231,7 +231,7 @@ QCursor KisCursor::airbrushCursor()
QCursor KisCursor::eraserCursor()
{
static unsigned char eraser_bits[] = {
static const unsigned char eraser_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x1d, 0x00,
0x00, 0x80, 0x3e, 0x00, 0x00, 0x40, 0x7f, 0x00, 0x00, 0xa0, 0xff, 0x00,
0x00, 0xd0, 0xff, 0x00, 0x00, 0xe8, 0x7f, 0x00, 0x00, 0xf4, 0x3f, 0x00,
......@@ -250,7 +250,7 @@ QCursor KisCursor::eraserCursor()
QCursor KisCursor::fillerCursor()
{
static unsigned char filler_bits[] = {
static const unsigned char filler_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x28, 0x00,
0x00, 0x54, 0x00, 0x00, 0x4e, 0x00, 0x00, 0x85, 0x00, 0x80, 0x0a, 0x01,
0x40, 0x11, 0x01, 0xe0, 0x00, 0x02, 0x58, 0x01, 0x04, 0x2c, 0x02, 0x04,
......@@ -267,7 +267,7 @@ QCursor KisCursor::fillerCursor()
QCursor KisCursor::colorChangerCursor()
{
static unsigned char colorChanger_bits[] = {
static const unsigned char colorChanger_bits[] = {
0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x10, 0x01, 0x0e, 0x08, 0x02, 0x11,
0x04, 0x82, 0x20, 0x64, 0x84, 0x20, 0x92, 0x44, 0x46, 0x12, 0x49, 0x5f,
0x12, 0x31, 0x5f, 0x22, 0x01, 0x5f, 0xc2, 0x00, 0x4e, 0x02, 0x00, 0x40,
......@@ -344,7 +344,7 @@ QCursor KisCursor::triangleRightHandedCursor()
QCursor KisCursor::moveCursor()
{
static unsigned char move_bits[] = {
static const unsigned char move_bits[] = {
0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x7e, 0x00,
0x00, 0xff, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00,
0x10, 0x18, 0x08, 0x18, 0x18, 0x18, 0x1c, 0x18, 0x38, 0xfe, 0xff, 0x7f,
......@@ -366,7 +366,7 @@ QCursor KisCursor::handCursor()
QCursor KisCursor::selectCursor()
{
static unsigned char select_bits[] = {
static const unsigned char select_bits[] = {
0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00,
0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00,
0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x00, 0xff, 0xff, 0x7f,
......@@ -453,7 +453,7 @@ QCursor KisCursor::load(const QString & iconName, int hotspotX, int hotspotY)
return QCursor(bitmap, mask, hotspotX, hotspotY);
}
QBitmap KisCursor::bitmapFromData(const QSize& size, unsigned char* data)
QBitmap KisCursor::bitmapFromData(const QSize& size, const unsigned char* data)
{
QBitmap result(32, 32);
result.fill(Qt::color0);
......
......@@ -82,7 +82,7 @@ public:
static QCursor rotateCursor(); // Transform tool cursor
// Makes a 32x32 bitmap that is compatible with different platforms
static QBitmap bitmapFromData(const QSize& size, unsigned char* data);
static QBitmap bitmapFromData(const QSize& size, const unsigned char* data);
// Load a cursor from an image file. The image should have an alpha channel
// and will be converted to black and white on loading. Any format loadable by
......
......@@ -195,13 +195,14 @@ QByteArray png_read_raw_profile(png_textp text)
{
QByteArray profile;
static unsigned char unhex[103] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12,
13, 14, 15
};
static const unsigned char unhex[103] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 12,
13, 14, 15
};
png_charp sp = text[0].text + 1;
/* look for newline */
......
......@@ -40,7 +40,7 @@
using namespace KexiDB;
unsigned short charTable[] = {
const unsigned short charTable[] = {
#include "chartable.txt"
};
......
......@@ -1375,11 +1375,11 @@ qreal KoPathSegment::nearestPoint(const QPointF &point) const
}
// Precomputed "z" for cubics
static qreal z3[3*4] = {1.0, 0.6, 0.3, 0.1, 0.4, 0.6, 0.6, 0.4, 0.1, 0.3, 0.6, 1.0};
static const qreal z3[3*4] = {1.0, 0.6, 0.3, 0.1, 0.4, 0.6, 0.6, 0.4, 0.1, 0.3, 0.6, 1.0};
// Precomputed "z" for quadrics
static qreal z2[2*3] = {1.0, 2./3., 1./3., 1./3., 2./3., 1.0};
static const qreal z2[2*3] = {1.0, 2./3., 1./3., 1./3., 2./3., 1.0};
qreal *z = degree() == 3 ? z3 : z2;
const qreal *z = degree() == 3 ? z3 : z2;
// Set f(u)-values.
for (int k = 0; k <= 2 * deg - 1; ++k) {
......
......@@ -1594,7 +1594,7 @@ QPainterPath KoPathShape::pathStroke(const QPen &pen) const
*
* The shorten factor to use results of the 0.3 which means we need to start at 0.7 * height of the marker
*/
static qreal shortenFactor = 0.7;
static const qreal shortenFactor = 0.7;
KoMarkerData mdStart = markerData(KoMarkerData::MarkerStart);
KoMarkerData mdEnd = markerData(KoMarkerData::MarkerEnd);
......
......@@ -61,13 +61,13 @@
#include <math.h>
static unsigned char needle_bits[] = {
static const unsigned char needle_bits[] = {
0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x60, 0x00, 0xc0, 0x00, 0xc0, 0x01,
0x80, 0x03, 0x80, 0x07, 0x00, 0x0f, 0x00, 0x1f, 0x00, 0x3e, 0x00, 0x7e,
0x00, 0x7c, 0x00, 0x1c, 0x00, 0x18, 0x00, 0x00
};
static unsigned char needle_move_bits[] = {
static const unsigned char needle_move_bits[] = {
0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x60, 0x00, 0xc0, 0x00, 0xc0, 0x01,
0x80, 0x03, 0x80, 0x07, 0x10, 0x0f, 0x38, 0x1f, 0x54, 0x3e, 0xfe, 0x7e,
0x54, 0x7c, 0x38, 0x1c, 0x10, 0x18, 0x00, 0x00
......
......@@ -142,10 +142,10 @@ private:
<< i18nc("Mouse Cursor Shape", "Closed hand"); //18
return strings;
}
static const char ** m_xpms[];
static const char * const * const m_xpms[];
};
const char ** CursorListData::m_xpms[] =
const char * const * const CursorListData::m_xpms[] =
{
blank_cursor_xpm,
arrow_cursor_xpm,
......
/* XPM */
static const char * arrow_cursor_xpm[] = {
static const char * const arrow_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * bdiag_cursor_xpm[] = {
static const char * const bdiag_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * blank_cursor_xpm[] = {
static const char * const blank_cursor_xpm[] = {
"32 32 1 1",
" c None",
" ",
......
/* XPM */
static const char * busy_cursor_xpm[] = {
static const char * const busy_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * closedhand_cursor_xpm[] = {
static const char * const closedhand_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * cross_cursor_xpm[] = {
static const char * const cross_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #0B0B0B",
......
/* XPM */
static const char * fdiag_cursor_xpm[] = {
static const char * const fdiag_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * forbidden_cursor_xpm[] = {
static const char * const forbidden_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * hand_cursor_xpm[] = {
static const char * const hand_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * ibeam_cursor_xpm[] = {
static const char * const ibeam_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * openhand_cursor_xpm[] = {
static const char * const openhand_cursor_xpm[] = {
"32 32 3 1",
" g None",
". g #000000",
......
/* XPM */
static const char * sizeall_cursor_xpm[] = {
static const char * const sizeall_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * sizehor_cursor_xpm[] = {
static const char * const sizehor_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * sizever_cursor_xpm[] = {
static const char * const sizever_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * splith_cursor_xpm[] = {
static const char * const splith_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * splitv_cursor_xpm[] = {
static const char * const splitv_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * uparrow_cursor_xpm[] = {
static const char * const uparrow_cursor_xpm[] = {
"32 32 2 1",
" c None",
". c #000000",
......
/* XPM */
static const char * wait_cursor_xpm[] = {
static const char * const wait_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
/* XPM */
static const char * whatsthis_cursor_xpm[] = {
static const char * const whatsthis_cursor_xpm[] = {
"32 32 3 1",
" c None",
". c #000000",
......
......@@ -1272,7 +1272,7 @@ bool KoDocument::openUrl(const KUrl & _url)
// It seems that people have started to save .docx files as .doc and
// similar for xls and ppt. So let's make a small replacement table
// here and see if we can open the files anyway.
static struct MimetypeReplacement {
static const struct MimetypeReplacement {
const char *typeFromName; // If the mime type from the name is this...
const char *typeFromContents; // ...and findByFileContents() reports this type...
const char *useThisType; // ...then use this type for real.
......@@ -1418,7 +1418,7 @@ bool KoDocument::openFile()
// a small hardcoded table for those cases. Check if this is
// applicable here.
for (uint i = 0; i < sizeof(replacementMimetypes) / sizeof(struct MimetypeReplacement); ++i) {
struct MimetypeReplacement *replacement = &replacementMimetypes[i];
const MimetypeReplacement *replacement = &replacementMimetypes[i];
if (typeName == replacement->typeFromName) {
//kDebug(30003) << "found potential replacement target:" << typeName;
......
......@@ -113,7 +113,7 @@ KoGenStyle::~KoGenStyle()
* The order of this list is important; e.g. a graphic-properties must
* precede a text-properties always. See the Relax NG to check the order.
*/
static KoGenStyle::PropertyType s_propertyTypes[] = {
static const KoGenStyle::PropertyType s_propertyTypes[] = {
KoGenStyle::DefaultType,
KoGenStyle::SectionType,
KoGenStyle::RubyType,
......
......@@ -28,7 +28,7 @@ struct DocumentData {
const char * bodyContentElement;
};
DocumentData s_documentData[] = {
const DocumentData s_documentData[] = {
{ "application/vnd.oasis.opendocument.text", "application/vnd.oasis.opendocument.text-template", "office:text" },
{ "application/vnd.oasis.opendocument.graphics", "application/vnd.oasis.opendocument.graphics-template", "office:drawing" },
{ "application/vnd.oasis.opendocument.presentation", "application/vnd.oasis.opendocument.presentation-template", "office:presentation" },
......
......@@ -24,7 +24,7 @@
namespace {
/* XPM -- copyright The Gimp */
const char *_chain_broken_24[] = {
const char * const _chain_broken_24[] = {
/* columns rows colors chars-per-pixel */
"9 24 10 1",
" c black",
......@@ -65,7 +65,7 @@ namespace {
};
/* XPM -- copyright The Gimp */
const char *_chain_24[] = {
const char * const _chain_24[] = {
/* columns rows colors chars-per-pixel */
"9 24 10 1",
" c black",
......
......@@ -36,7 +36,7 @@ static const int LEFTHAND_ODD = 0;
static const int LEFTHAND_EVEN = 1;
static const int RIGHTHAND = 2;
static int _encodings[10][3][7] = {
static const int _encodings[10][3][7] = {
/* LEFTHAND_ODD */ /* LEFTHAND_EVEN */ /* RIGHTHAND */
{ { 0, 0, 0, 1, 1, 0, 1}, { 0, 1, 0, 0, 1, 1, 1 }, { 1, 1, 1, 0, 0, 1, 0 } }, // 0
{ { 0, 0, 1, 1, 0, 0, 1}, { 0, 1, 1, 0, 0, 1, 1 }, { 1, 1, 0, 0, 1, 1, 0 } }, // 1
......@@ -53,7 +53,7 @@ static int _encodings[10][3][7] = {
static const int odd = LEFTHAND_ODD;
static const int even = LEFTHAND_EVEN;
static int _parity[10][6] = {
static const int _parity[10][6] = {
{ odd, odd, odd, odd, odd, odd }, // 0
{ odd, odd, even, odd, even, even }, // 1
{ odd, odd, even, even, odd, even }, // 2
......@@ -66,7 +66,7 @@ static int _parity[10][6] = {
{ odd, even, even, odd, even, odd } // 9
};
static int _upcparenc[10][2][6] = {
static const int _upcparenc[10][2][6] = {
/* PARITY 0 */ /* PARITY 1 */
{ { even, even, even, odd, odd, odd }, { odd, odd, odd, even, even, even } }, // 0
{ { even, even, odd, even, odd, odd }, { odd, odd, even, odd, even, even } }, // 1
......
......@@ -36,7 +36,7 @@ static const int LEFTHAND_ODD = 0;
static const int LEFTHAND_EVEN = 1;
static const int RIGHTHAND = 2;
static int _encodings[10][3][7] = {
static int const _encodings[10][3][7] = {
/* LEFTHAND_ODD */ /* LEFTHAND_EVEN */ /* RIGHTHAND */
{ { 0, 0, 0, 1, 1, 0, 1}, { 0, 1, 0, 0, 1, 1, 1 }, { 1, 1, 1, 0, 0, 1, 0 } }, // 0
{ { 0, 0, 1, 1, 0, 0, 1}, { 0, 1, 1, 0, 0, 1, 1 }, { 1, 1, 0, 0, 1, 1, 0 } }, // 1
......@@ -53,7 +53,7 @@ static int _encodings[10][3][7] = {
static const int odd = LEFTHAND_ODD;
static const int even = LEFTHAND_EVEN;
static int _parity[10][6] = {
static const int _parity[10][6] = {
{ odd, odd, odd, odd, odd, odd }, // 0
{ odd, odd, even, odd, even, even }, // 1
{ odd, odd, even, even, odd, even }, // 2
......@@ -66,7 +66,7 @@ static int _parity[10][6] = {
{ odd, even, even, odd, even, odd } // 9
};
static int _upcparenc[10][2][6] = {
static const int _upcparenc[10][2][6] = {
/* PARITY 0 */ /* PARITY 1 */
{ { even, even, even, odd, odd, odd }, { odd, odd, odd, even, even, even } }, // 0
{ { even, even, odd, even, odd, odd }, { odd, odd, even, odd, even, even } }, // 1
......
......@@ -2471,7 +2471,7 @@ void TextTool::splitTableCells()
void TextTool::useTableBorderCursor()
{
static unsigned char data[] = {
static const unsigned char data[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x68, 0x00,
0x00, 0x00, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x00, 0x00, 0xfd, 0x00,
0x00, 0x80, 0x7e, 0x00, 0x00, 0x40, 0x3f, 0x00, 0x00, 0xa0, 0x1f, 0x00,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment