chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libvolume_id: squashfs - add endianess support for LZMA compression
[elogind.git]
/
extras
/
volume_id
/
lib
/
squashfs.c
diff --git
a/extras/volume_id/lib/squashfs.c
b/extras/volume_id/lib/squashfs.c
index 402a114e1bb3484401cec0b00f017a58da517525..035d6fb22a2b905f3abbe28dc7f4fc130db99c31 100644
(file)
--- a/
extras/volume_id/lib/squashfs.c
+++ b/
extras/volume_id/lib/squashfs.c
@@
-27,6
+27,7
@@
#include "util.h"
#define SQUASHFS_MAGIC 0x73717368
#include "util.h"
#define SQUASHFS_MAGIC 0x73717368
+#define SQUASHFS_MAGIC_LZMA 0x71736873
struct squashfs_super {
uint32_t s_magic;
struct squashfs_super {
uint32_t s_magic;
@@
-50,12
+51,12
@@
int volume_id_probe_squashfs(struct volume_id *id, uint64_t off, uint64_t size)
if (sqs == NULL)
return -1;
if (sqs == NULL)
return -1;
- if (sqs->s_magic == SQUASHFS_MAGIC) {
+ if (sqs->s_magic == SQUASHFS_MAGIC
|| sqs->s_magic == SQUASHFS_MAGIC_LZMA
) {
snprintf(id->type_version, sizeof(id->type_version), "%u.%u",
sqs->s_major, sqs->s_minor);
goto found;
}
snprintf(id->type_version, sizeof(id->type_version), "%u.%u",
sqs->s_major, sqs->s_minor);
goto found;
}
- if (sqs->s_magic == bswap_32(SQUASHFS_MAGIC)) {
+ if (sqs->s_magic == bswap_32(SQUASHFS_MAGIC)
|| sqs->s_magic == bswap_32(SQUASHFS_MAGIC_LZMA)
) {
snprintf(id->type_version, sizeof(id->type_version), "%u.%u",
bswap_16(sqs->s_major), bswap_16(sqs->s_minor));
goto found;
snprintf(id->type_version, sizeof(id->type_version), "%u.%u",
bswap_16(sqs->s_major), bswap_16(sqs->s_minor));
goto found;