endianity fixes
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4572 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
9acac3cd12
commit
e63742fbec
1 changed files with 9 additions and 7 deletions
|
@ -618,7 +618,7 @@ int CEXEBuild::preprocess_string(char *out, const char *in, WORD codepage/*=CP_A
|
||||||
// So the line below must be commented !??
|
// So the line below must be commented !??
|
||||||
//m_UserVarNames.inc_reference(idxUserVar);
|
//m_UserVarNames.inc_reference(idxUserVar);
|
||||||
*out++ = (unsigned int) NS_VAR_CODE; // Named user variable;
|
*out++ = (unsigned int) NS_VAR_CODE; // Named user variable;
|
||||||
*(WORD*)out = CODE_SHORT(idxUserVar);
|
*(WORD*)out = FIX_ENDIAN_INT16(CODE_SHORT(idxUserVar));
|
||||||
out += sizeof(WORD);
|
out += sizeof(WORD);
|
||||||
p += pUserVarName-p;
|
p += pUserVarName-p;
|
||||||
bProceced = true;
|
bProceced = true;
|
||||||
|
@ -662,7 +662,7 @@ int CEXEBuild::preprocess_string(char *out, const char *in, WORD codepage/*=CP_A
|
||||||
if (idx < 0)
|
if (idx < 0)
|
||||||
{
|
{
|
||||||
*out++ = (unsigned int)NS_LANG_CODE; // Next word is lang-string Identifier
|
*out++ = (unsigned int)NS_LANG_CODE; // Next word is lang-string Identifier
|
||||||
*(WORD*)out= CODE_SHORT(-idx-1);
|
*(WORD*)out = FIX_ENDIAN_INT16(CODE_SHORT(-idx-1));
|
||||||
out += sizeof(WORD);
|
out += sizeof(WORD);
|
||||||
p += strlen(cp) + 2;
|
p += strlen(cp) + 2;
|
||||||
bProceced = true;
|
bProceced = true;
|
||||||
|
@ -881,7 +881,7 @@ int CEXEBuild::add_db_data(IMMap *mmap) // returns offset
|
||||||
done=1;
|
done=1;
|
||||||
db->resize(st + used + sizeof(int));
|
db->resize(st + used + sizeof(int));
|
||||||
|
|
||||||
*(int*)db->get(st, sizeof(int)) = used | 0x80000000;
|
*(int*)db->get(st, sizeof(int)) = FIX_ENDIAN_INT32(used | 0x80000000);
|
||||||
db->release();
|
db->release();
|
||||||
|
|
||||||
int nst = datablock_optimize(st, used | 0x80000000);
|
int nst = datablock_optimize(st, used | 0x80000000);
|
||||||
|
@ -898,7 +898,7 @@ int CEXEBuild::add_db_data(IMMap *mmap) // returns offset
|
||||||
{
|
{
|
||||||
db->resize(st + length + sizeof(int));
|
db->resize(st + length + sizeof(int));
|
||||||
int *plen = (int *) db->get(st, sizeof(int));
|
int *plen = (int *) db->get(st, sizeof(int));
|
||||||
*plen = length;
|
*plen = FIX_ENDIAN_INT32(length);
|
||||||
db->release();
|
db->release();
|
||||||
|
|
||||||
int left = length;
|
int left = length;
|
||||||
|
@ -969,7 +969,7 @@ int CEXEBuild::add_data(const char *data, int length, IGrowBuf *dblock) // retur
|
||||||
done=1;
|
done=1;
|
||||||
dblock->resize(st+used+sizeof(int));
|
dblock->resize(st+used+sizeof(int));
|
||||||
|
|
||||||
*((int*)((char *)dblock->get()+st)) = used|0x80000000;
|
*((int*)((char *)dblock->get()+st)) = FIX_ENDIAN_INT32(used|0x80000000);
|
||||||
}
|
}
|
||||||
compressor->End();
|
compressor->End();
|
||||||
}
|
}
|
||||||
|
@ -978,7 +978,8 @@ int CEXEBuild::add_data(const char *data, int length, IGrowBuf *dblock) // retur
|
||||||
if (!done)
|
if (!done)
|
||||||
{
|
{
|
||||||
dblock->resize(st);
|
dblock->resize(st);
|
||||||
dblock->add(&length,sizeof(int));
|
int rl = FIX_ENDIAN_INT32(length);
|
||||||
|
dblock->add(&rl,sizeof(int));
|
||||||
dblock->add(data,length);
|
dblock->add(data,length);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2753,7 +2754,8 @@ int CEXEBuild::write_output(void)
|
||||||
if (build_crcchk)
|
if (build_crcchk)
|
||||||
{
|
{
|
||||||
total_usize+=sizeof(int);
|
total_usize+=sizeof(int);
|
||||||
if (fwrite(&crc,1,sizeof(int),fp) != sizeof(int))
|
int rcrc = FIX_ENDIAN_INT32(crc);
|
||||||
|
if (fwrite(&rcrc,1,sizeof(int),fp) != sizeof(int))
|
||||||
{
|
{
|
||||||
ERROR_MSG("Error: can't write %d bytes to output\n",sizeof(int));
|
ERROR_MSG("Error: can't write %d bytes to output\n",sizeof(int));
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue