summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sqfs/xattr_writer.h2
-rw-r--r--include/str_table.h5
-rw-r--r--lib/sqfs/xattr/xattr_writer_flush.c25
-rw-r--r--lib/util/str_table.c6
4 files changed, 22 insertions, 16 deletions
diff --git a/include/sqfs/xattr_writer.h b/include/sqfs/xattr_writer.h
index 21c5179..4b93118 100644
--- a/include/sqfs/xattr_writer.h
+++ b/include/sqfs/xattr_writer.h
@@ -129,7 +129,7 @@ SQFS_API int sqfs_xattr_writer_end(sqfs_xattr_writer_t *xwr, sqfs_u32 *out);
*
* @return Zero on success, a negative @ref SQFS_ERROR value on failure.
*/
-SQFS_API int sqfs_xattr_writer_flush(sqfs_xattr_writer_t *xwr,
+SQFS_API int sqfs_xattr_writer_flush(const sqfs_xattr_writer_t *xwr,
sqfs_file_t *file, sqfs_super_t *super,
sqfs_compressor_t *cmp);
diff --git a/include/str_table.h b/include/str_table.h
index a843e62..7ae050e 100644
--- a/include/str_table.h
+++ b/include/str_table.h
@@ -42,12 +42,13 @@ int str_table_get_index(str_table_t *table, const char *str, size_t *idx);
/* Resolve a unique ID to the string it represents.
Returns NULL if the ID is unknown, i.e. out of bounds. */
SQFS_INTERNAL
-const char *str_table_get_string(str_table_t *table, size_t index);
+const char *str_table_get_string(const str_table_t *table, size_t index);
SQFS_INTERNAL void str_table_add_ref(str_table_t *table, size_t index);
SQFS_INTERNAL void str_table_del_ref(str_table_t *table, size_t index);
-SQFS_INTERNAL size_t str_table_get_ref_count(str_table_t *table, size_t index);
+SQFS_INTERNAL
+size_t str_table_get_ref_count(const str_table_t *table, size_t index);
#endif /* STR_TABLE_H */
diff --git a/lib/sqfs/xattr/xattr_writer_flush.c b/lib/sqfs/xattr/xattr_writer_flush.c
index 9b3de30..53c3187 100644
--- a/lib/sqfs/xattr/xattr_writer_flush.c
+++ b/lib/sqfs/xattr/xattr_writer_flush.c
@@ -140,8 +140,10 @@ static bool should_store_ool(const char *val_str, size_t refcount)
return (strlen(val_str) / 2) > sizeof(sqfs_u64);
}
-static int write_block_pairs(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw,
- kv_block_desc_t *blk, sqfs_u64 *ool_locations)
+static int write_block_pairs(const sqfs_xattr_writer_t *xwr,
+ sqfs_meta_writer_t *mw,
+ const kv_block_desc_t *blk,
+ sqfs_u64 *ool_locations)
{
sqfs_u32 key_idx, val_idx;
const char *key_str, *value_str;
@@ -188,7 +190,8 @@ static int write_block_pairs(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw,
return total;
}
-static int write_kv_pairs(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw)
+static int write_kv_pairs(const sqfs_xattr_writer_t *xwr,
+ sqfs_meta_writer_t *mw)
{
sqfs_u64 block, *ool_locations;
kv_block_desc_t *blk;
@@ -221,7 +224,8 @@ static int write_kv_pairs(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw)
return sqfs_meta_writer_flush(mw);
}
-static int write_id_table(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw,
+static int write_id_table(const sqfs_xattr_writer_t *xwr,
+ sqfs_meta_writer_t *mw,
sqfs_u64 *locations)
{
sqfs_xattr_id_t id_ent;
@@ -251,9 +255,10 @@ static int write_id_table(sqfs_xattr_writer_t *xwr, sqfs_meta_writer_t *mw,
return sqfs_meta_writer_flush(mw);
}
-static int write_location_table(sqfs_xattr_writer_t *xwr, sqfs_u64 kv_start,
- sqfs_file_t *file, const sqfs_super_t *super,
- sqfs_u64 *locations, size_t loc_count)
+static int write_location_table(const sqfs_xattr_writer_t *xwr,
+ sqfs_u64 kv_start, sqfs_file_t *file,
+ const sqfs_super_t *super, sqfs_u64 *locations,
+ size_t loc_count)
{
sqfs_xattr_id_table_t idtbl;
int err;
@@ -271,8 +276,8 @@ static int write_location_table(sqfs_xattr_writer_t *xwr, sqfs_u64 kv_start,
locations, sizeof(locations[0]) * loc_count);
}
-static int alloc_location_table(sqfs_xattr_writer_t *xwr, sqfs_u64 **tbl_out,
- size_t *szout)
+static int alloc_location_table(const sqfs_xattr_writer_t *xwr,
+ sqfs_u64 **tbl_out, size_t *szout)
{
sqfs_u64 *locations;
size_t size, count;
@@ -293,7 +298,7 @@ static int alloc_location_table(sqfs_xattr_writer_t *xwr, sqfs_u64 **tbl_out,
return 0;
}
-int sqfs_xattr_writer_flush(sqfs_xattr_writer_t *xwr, sqfs_file_t *file,
+int sqfs_xattr_writer_flush(const sqfs_xattr_writer_t *xwr, sqfs_file_t *file,
sqfs_super_t *super, sqfs_compressor_t *cmp)
{
sqfs_u64 *locations = NULL, kv_start, id_start;
diff --git a/lib/util/str_table.c b/lib/util/str_table.c
index cea34dc..1463546 100644
--- a/lib/util/str_table.c
+++ b/lib/util/str_table.c
@@ -189,7 +189,7 @@ fail_oom:
return SQFS_ERROR_ALLOC;
}
-const char *str_table_get_string(str_table_t *table, size_t index)
+const char *str_table_get_string(const str_table_t *table, size_t index)
{
if (index >= table->num_strings)
return NULL;
@@ -197,7 +197,7 @@ const char *str_table_get_string(str_table_t *table, size_t index)
return table->strings[index];
}
-static str_bucket_t *bucket_by_index(str_table_t *table, size_t index)
+static str_bucket_t *bucket_by_index(const str_table_t *table, size_t index)
{
str_bucket_t *bucket = NULL;
sqfs_u32 hash;
@@ -229,7 +229,7 @@ void str_table_del_ref(str_table_t *table, size_t index)
bucket->refcount -= 1;
}
-size_t str_table_get_ref_count(str_table_t *table, size_t index)
+size_t str_table_get_ref_count(const str_table_t *table, size_t index)
{
str_bucket_t *bucket = bucket_by_index(table, index);