зеркало из https://github.com/mozilla/pjs.git
Doh! Let's try that hex-to-int conversion one more time.
This commit is contained in:
Родитель
d311d788ea
Коммит
09aaabf02a
|
@ -618,16 +618,16 @@ nsBrowsingProfile::Uint32ToHex(PRUint32 aNum, char aBuf[8])
|
||||||
void
|
void
|
||||||
nsBrowsingProfile::HexToUint8(const char aBuf[2], PRUint8* aNum)
|
nsBrowsingProfile::HexToUint8(const char aBuf[2], PRUint8* aNum)
|
||||||
{
|
{
|
||||||
const char* p = aBuf + 2;
|
|
||||||
PRUint32 num = 0;
|
PRUint32 num = 0;
|
||||||
while (--p >= aBuf) {
|
for (PRInt32 count = 2; count > 0; --count) {
|
||||||
const char* hex = PL_strchr(kHexMap, *p);
|
const char* hex = PL_strchr(kHexMap, *aBuf);
|
||||||
NS_ASSERTION(hex != nsnull, "invalid character");
|
NS_ASSERTION(hex != nsnull, "invalid character");
|
||||||
if (! hex)
|
if (! hex)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
num = num << 4;
|
num = num << 4;
|
||||||
num += (hex - kHexMap);
|
num += (hex - kHexMap);
|
||||||
|
++aBuf;
|
||||||
}
|
}
|
||||||
*aNum = num;
|
*aNum = num;
|
||||||
}
|
}
|
||||||
|
@ -635,16 +635,16 @@ nsBrowsingProfile::HexToUint8(const char aBuf[2], PRUint8* aNum)
|
||||||
void
|
void
|
||||||
nsBrowsingProfile::HexToUint16(const char aBuf[4], PRUint16* aNum)
|
nsBrowsingProfile::HexToUint16(const char aBuf[4], PRUint16* aNum)
|
||||||
{
|
{
|
||||||
const char* p = aBuf + 4;
|
|
||||||
PRUint32 num = 0;
|
PRUint32 num = 0;
|
||||||
while (--p >= aBuf) {
|
for (PRInt32 count = 4; count > 0; --count) {
|
||||||
const char* hex = PL_strchr(kHexMap, *p);
|
const char* hex = PL_strchr(kHexMap, *aBuf);
|
||||||
NS_ASSERTION(hex != nsnull, "invalid character");
|
NS_ASSERTION(hex != nsnull, "invalid character");
|
||||||
if (! hex)
|
if (! hex)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
num = num << 4;
|
num = num << 4;
|
||||||
num += (hex - kHexMap);
|
num += (hex - kHexMap);
|
||||||
|
++aBuf;
|
||||||
}
|
}
|
||||||
*aNum = num;
|
*aNum = num;
|
||||||
}
|
}
|
||||||
|
@ -652,16 +652,16 @@ nsBrowsingProfile::HexToUint16(const char aBuf[4], PRUint16* aNum)
|
||||||
void
|
void
|
||||||
nsBrowsingProfile::HexToUint32(const char aBuf[8], PRUint32* aNum)
|
nsBrowsingProfile::HexToUint32(const char aBuf[8], PRUint32* aNum)
|
||||||
{
|
{
|
||||||
const char* p = aBuf + 8;
|
|
||||||
PRUint32 num = 0;
|
PRUint32 num = 0;
|
||||||
while (--p >= aBuf) {
|
for (PRInt32 count = 8; count > 0; --count) {
|
||||||
const char* hex = PL_strchr(kHexMap, *p);
|
const char* hex = PL_strchr(kHexMap, *aBuf);
|
||||||
NS_ASSERTION(hex != nsnull, "invalid character");
|
NS_ASSERTION(hex != nsnull, "invalid character");
|
||||||
if (! hex)
|
if (! hex)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
num = num << 4;
|
num = num << 4;
|
||||||
num += (hex - kHexMap);
|
num += (hex - kHexMap);
|
||||||
|
++aBuf;
|
||||||
}
|
}
|
||||||
*aNum = num;
|
*aNum = num;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче