PrintJob: make struct print_file_header packed.
* also struct _page_header_: on x86_64, these would align to 8 bytes, which the code doesn't handle well. * remove beos leftovers.
This commit is contained in:
@@ -18,7 +18,7 @@ struct print_file_header {
|
|||||||
off_t first_page;
|
off_t first_page;
|
||||||
|
|
||||||
int32 _reserved[3];
|
int32 _reserved[3];
|
||||||
};
|
} _PACKED;
|
||||||
|
|
||||||
struct _page_header_;
|
struct _page_header_;
|
||||||
|
|
||||||
|
|||||||
@@ -38,18 +38,6 @@ PrinterDriver::~PrinterDriver()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef B_BEOS_VERSION_DANO
|
|
||||||
struct print_file_header {
|
|
||||||
int32 version;
|
|
||||||
int32 page_count;
|
|
||||||
off_t first_page;
|
|
||||||
int32 _reserved_3_;
|
|
||||||
int32 _reserved_4_;
|
|
||||||
int32 _reserved_5_;
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
PrinterDriver::PrintJob(BFile *spoolFile, BMessage *jobMsg)
|
PrinterDriver::PrintJob(BFile *spoolFile, BMessage *jobMsg)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ struct _page_header_ {
|
|||||||
int32 number_of_pictures;
|
int32 number_of_pictures;
|
||||||
off_t next_page;
|
off_t next_page;
|
||||||
int32 reserved[10];
|
int32 reserved[10];
|
||||||
};
|
} _PACKED;
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@@ -90,11 +90,7 @@ GraphicsDriver::_SetupData(BFile* spoolFile)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef B_BEOS_VERSION_DANO
|
|
||||||
print_file_header pfh;
|
print_file_header pfh;
|
||||||
#else
|
|
||||||
BPrintJob::print_file_header pfh;
|
|
||||||
#endif
|
|
||||||
spoolFile->Seek(0, SEEK_SET);
|
spoolFile->Seek(0, SEEK_SET);
|
||||||
spoolFile->Read(&pfh, sizeof(pfh));
|
spoolFile->Read(&pfh, sizeof(pfh));
|
||||||
|
|
||||||
|
|||||||
@@ -126,11 +126,7 @@ PrintJobReader::PrintJobReader(BFile* jobFile)
|
|||||||
, fNumberOfPages(-1)
|
, fNumberOfPages(-1)
|
||||||
, fPageIndex(NULL)
|
, fPageIndex(NULL)
|
||||||
{
|
{
|
||||||
#ifndef B_BEOS_VERSION_DANO
|
|
||||||
print_file_header header;
|
print_file_header header;
|
||||||
#else
|
|
||||||
BPrintJob::print_file_header header;
|
|
||||||
#endif
|
|
||||||
fJobFile.Seek(0, SEEK_SET);
|
fJobFile.Seek(0, SEEK_SET);
|
||||||
if (fJobFile.Read(&header, sizeof(header)) == sizeof(header)) {
|
if (fJobFile.Read(&header, sizeof(header)) == sizeof(header)) {
|
||||||
if (fJobSettings.Unflatten(&fJobFile) == B_OK) {
|
if (fJobSettings.Unflatten(&fJobFile) == B_OK) {
|
||||||
|
|||||||
@@ -130,11 +130,7 @@ AddFields(BMessage* to, const BMessage* from, const char* excludeList[],
|
|||||||
{
|
{
|
||||||
if (to == from)
|
if (to == from)
|
||||||
return;
|
return;
|
||||||
#ifndef B_BEOS_VERSION_DANO
|
|
||||||
char* name;
|
char* name;
|
||||||
#else
|
|
||||||
const char* name;
|
|
||||||
#endif
|
|
||||||
type_code type;
|
type_code type;
|
||||||
int32 count;
|
int32 count;
|
||||||
for (int32 i = 0; from->GetInfo(B_ANY_TYPE, i, &name, &type, &count)
|
for (int32 i = 0; from->GetInfo(B_ANY_TYPE, i, &name, &type, &count)
|
||||||
|
|||||||
Reference in New Issue
Block a user