---------------------------------------------------------------------------*/
| 3449 | |
| 3450 | /*---------------------------------------------------------------------------*/ |
| 3451 | static I32 |
| 3452 | demzip_read_header( |
| 3453 | demzip_dll_struct* demzip_dll |
| 3454 | , demzip_BOOL* is_compressed |
| 3455 | ) |
| 3456 | { |
| 3457 | U32 i; |
| 3458 | |
| 3459 | // read the header variable after variable |
| 3460 | |
| 3461 | CHAR file_signature[5]; |
| 3462 | try { demzip_dll->streamin->getBytes((U8*)file_signature, 4); } catch(...) |
| 3463 | { |
| 3464 | sprintf(demzip_dll->error, "reading header.file_signature"); |
| 3465 | return 1; |
| 3466 | } |
| 3467 | if (strncmp(file_signature, "LASF", 4) != 0) |
| 3468 | { |
| 3469 | sprintf(demzip_dll->error, "wrong file_signature. not a LAS/LAZ file."); |
| 3470 | return 1; |
| 3471 | } |
| 3472 | try { demzip_dll->streamin->get16bitsLE((U8*)&(demzip_dll->header.file_source_ID)); } catch(...) |
| 3473 | { |
| 3474 | sprintf(demzip_dll->error, "reading header.file_source_ID"); |
| 3475 | return 1; |
| 3476 | } |
| 3477 | try { demzip_dll->streamin->get16bitsLE((U8*)&(demzip_dll->header.global_encoding)); } catch(...) |
| 3478 | { |
| 3479 | sprintf(demzip_dll->error, "reading header.global_encoding"); |
| 3480 | return 1; |
| 3481 | } |
| 3482 | try { demzip_dll->streamin->get32bitsLE((U8*)&(demzip_dll->header.project_ID_GUID_data_1)); } catch(...) |
| 3483 | { |
| 3484 | sprintf(demzip_dll->error, "reading header.project_ID_GUID_data_1"); |
| 3485 | return 1; |
| 3486 | } |
| 3487 | try { demzip_dll->streamin->get16bitsLE((U8*)&(demzip_dll->header.project_ID_GUID_data_2)); } catch(...) |
| 3488 | { |
| 3489 | sprintf(demzip_dll->error, "reading header.project_ID_GUID_data_2"); |
| 3490 | return 1; |
| 3491 | } |
| 3492 | try { demzip_dll->streamin->get16bitsLE((U8*)&(demzip_dll->header.project_ID_GUID_data_3)); } catch(...) |
| 3493 | { |
| 3494 | sprintf(demzip_dll->error, "reading header.project_ID_GUID_data_3"); |
| 3495 | return 1; |
| 3496 | } |
| 3497 | try { demzip_dll->streamin->getBytes((U8*)demzip_dll->header.project_ID_GUID_data_4, 8); } catch(...) |
| 3498 | { |
| 3499 | sprintf(demzip_dll->error, "reading header.project_ID_GUID_data_4"); |
| 3500 | return 1; |
| 3501 | } |
| 3502 | try { demzip_dll->streamin->getBytes((U8*)&(demzip_dll->header.version_major), 1); } catch(...) |
| 3503 | { |
| 3504 | sprintf(demzip_dll->error, "reading header.version_major"); |
| 3505 | return 1; |
| 3506 | } |
| 3507 | try { demzip_dll->streamin->getBytes((U8*)&(demzip_dll->header.version_minor), 1); } catch(...) |
| 3508 | { |
no test coverage detected