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:
Jérôme Duval
2017-07-31 17:11:53 +02:00
parent 17683fa9b6
commit d9823ef5a0
6 changed files with 2 additions and 26 deletions
+1 -1
View File
@@ -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)
{ {
+1 -1
View File
@@ -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) {
-4
View File
@@ -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)