nbdkit/0026-common-utils-vector-Rename-size-to-len.patch
Richard W.M. Jones b5f8430a27 Rebase to new stable branch version 1.28.3
resolves: rhbz#2011709

Includes these important commits:
    plugins/python: Fix extents() count format string
    tests: Add configure --disable-libguestfs-tests flag
    tests: Use mke2fs -d to create ext4 test image

Use new --disable-libguestfs-tests on non-guestfs arches.
2021-12-19 10:51:16 +00:00

1748 lines
65 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 62cae5465fe9b560ddd0b8d9f3fbcf738ab6daf3 Mon Sep 17 00:00:00 2001
From: Nir Soffer <nsoffer@redhat.com>
Date: Sat, 6 Nov 2021 00:03:11 +0200
Subject: [PATCH] common/utils/vector: Rename `size` to `len`
The field `size` may be confusing with the size of the underlying array.
Rename to `len`, a common term for this concept.
Tested with "make check" as regular user, tests that need root or
external libraries (vddk) are not tested.
Ported from libnbd commit cc0567e9aed7e6b40a44bf8eac0a262ac7314fec.
(cherry picked from commit 0b0eece73f04963a66b9adc507e5cbaba608660b)
---
common/allocators/allocator.c | 2 +-
common/allocators/malloc.c | 2 +-
common/allocators/sparse.c | 6 +-
common/allocators/zstd.c | 6 +-
common/regions/regions.h | 6 +-
common/utils/environ.c | 2 +-
common/utils/test-vector.c | 2 +-
common/utils/vector.h | 52 ++++++------
filters/ddrescue/ddrescue.c | 2 +-
filters/exitwhen/exitwhen.c | 2 +-
filters/extentlist/extentlist.c | 14 ++--
filters/multi-conn/multi-conn.c | 16 ++--
plugins/cc/cc.c | 4 +-
plugins/data/data.c | 4 +-
plugins/data/format.c | 114 +++++++++++++--------------
plugins/eval/eval.c | 2 +-
plugins/floppy/directory-lfn.c | 24 +++---
plugins/floppy/floppy.c | 2 +-
plugins/floppy/virtual-floppy.c | 32 ++++----
plugins/iso/iso.c | 4 +-
plugins/nbd/nbd.c | 6 +-
plugins/partitioning/partition-mbr.c | 8 +-
plugins/partitioning/partitioning.c | 18 ++---
plugins/partitioning/virtual-disk.c | 12 +--
plugins/partitioning/virtual-disk.h | 2 +-
plugins/split/split.c | 14 ++--
plugins/ssh/ssh.c | 2 +-
plugins/vddk/reexec.c | 8 +-
plugins/vddk/stats.c | 4 +-
plugins/vddk/worker.c | 4 +-
server/exports.c | 6 +-
server/extents.c | 22 +++---
server/main.c | 2 +-
server/sockets.c | 8 +-
wrapper.c | 4 +-
35 files changed, 209 insertions(+), 209 deletions(-)
diff --git a/common/allocators/allocator.c b/common/allocators/allocator.c
index d306a842..019c68cd 100644
--- a/common/allocators/allocator.c
+++ b/common/allocators/allocator.c
@@ -137,7 +137,7 @@ create_allocator (const char *type, bool debug)
return NULL;
/* See if we can find the allocator. */
- for (i = 0; i < allocators.size; ++i) {
+ for (i = 0; i < allocators.len; ++i) {
if (strncmp (type, allocators.ptr[i]->type, type_len) == 0) {
ret = allocators.ptr[i]->create (&params);
break;
diff --git a/common/allocators/malloc.c b/common/allocators/malloc.c
index f7474465..eea44432 100644
--- a/common/allocators/malloc.c
+++ b/common/allocators/malloc.c
@@ -241,7 +241,7 @@ m_alloc_create (const void *paramsv)
size_t i;
/* Parse the optional mlock=true|false parameter. */
- for (i = 0; i < params->size; ++i) {
+ for (i = 0; i < params->len; ++i) {
if (strcmp (params->ptr[i].key, "mlock") == 0) {
int r = nbdkit_parse_bool (params->ptr[i].value);
if (r == -1) return NULL;
diff --git a/common/allocators/sparse.c b/common/allocators/sparse.c
index ca508c35..7c6d1636 100644
--- a/common/allocators/sparse.c
+++ b/common/allocators/sparse.c
@@ -150,7 +150,7 @@ sparse_array_free (struct allocator *a)
size_t i;
if (sa) {
- for (i = 0; i < sa->l1_dir.size; ++i)
+ for (i = 0; i < sa->l1_dir.len; ++i)
free_l2_dir (sa->l1_dir.ptr[i].l2_dir);
free (sa->l1_dir.ptr);
pthread_mutex_destroy (&sa->lock);
@@ -184,7 +184,7 @@ insert_l1_entry (struct sparse_array *sa, const struct l1_entry *entry)
{
size_t i;
- for (i = 0; i < sa->l1_dir.size; ++i) {
+ for (i = 0; i < sa->l1_dir.len; ++i) {
if (entry->offset < sa->l1_dir.ptr[i].offset) {
/* Insert new entry before i'th directory entry. */
if (l1_dir_insert (&sa->l1_dir, *entry, i) == -1) {
@@ -508,7 +508,7 @@ sparse_array_create (const void *paramsv)
const allocator_parameters *params = paramsv;
struct sparse_array *sa;
- if (params->size > 0) {
+ if (params->len > 0) {
nbdkit_error ("allocator=sparse does not take extra parameters");
return NULL;
}
diff --git a/common/allocators/zstd.c b/common/allocators/zstd.c
index 81fe4ed0..1675d21c 100644
--- a/common/allocators/zstd.c
+++ b/common/allocators/zstd.c
@@ -136,7 +136,7 @@ zstd_array_free (struct allocator *a)
ZSTD_freeCCtx (za->zcctx);
ZSTD_freeDStream (za->zdstrm);
- for (i = 0; i < za->l1_dir.size; ++i)
+ for (i = 0; i < za->l1_dir.len; ++i)
free_l2_dir (za->l1_dir.ptr[i].l2_dir);
free (za->l1_dir.ptr);
pthread_mutex_destroy (&za->lock);
@@ -170,7 +170,7 @@ insert_l1_entry (struct zstd_array *za, const struct l1_entry *entry)
{
size_t i;
- for (i = 0; i < za->l1_dir.size; ++i) {
+ for (i = 0; i < za->l1_dir.len; ++i) {
if (entry->offset < za->l1_dir.ptr[i].offset) {
/* Insert new entry before i'th directory entry. */
if (l1_dir_insert (&za->l1_dir, *entry, i) == -1) {
@@ -600,7 +600,7 @@ zstd_array_create (const void *paramsv)
const allocator_parameters *params = paramsv;
struct zstd_array *za;
- if (params->size > 0) {
+ if (params->len > 0) {
nbdkit_error ("allocator=zstd does not take extra parameters");
return NULL;
}
diff --git a/common/regions/regions.h b/common/regions/regions.h
index 6dfd5d88..3d562316 100644
--- a/common/regions/regions.h
+++ b/common/regions/regions.h
@@ -84,17 +84,17 @@ extern void free_regions (regions *regions)
static inline size_t __attribute__((__nonnull__ (1)))
nr_regions (regions *rs)
{
- return rs->size;
+ return rs->len;
}
/* Return the virtual size of the disk. */
static inline int64_t __attribute__((__nonnull__ (1)))
virtual_size (regions *rs)
{
- if (rs->size == 0)
+ if (rs->len == 0)
return 0;
else
- return rs->ptr[rs->size-1].end + 1;
+ return rs->ptr[rs->len-1].end + 1;
}
/* Look up the region corresponding to the given offset. If the
diff --git a/common/utils/environ.c b/common/utils/environ.c
index e70976cb..2ad996eb 100644
--- a/common/utils/environ.c
+++ b/common/utils/environ.c
@@ -82,7 +82,7 @@ copy_environ (char **env, ...)
/* Search for key in the existing environment. It's O(n^2) ... */
len = strlen (key);
- for (i = 0; i < ret.size; ++i) {
+ for (i = 0; i < ret.len; ++i) {
if (strncmp (key, ret.ptr[i], len) == 0 && ret.ptr[i][len] == '=') {
/* Replace the existing key. */
free (ret.ptr[i]);
diff --git a/common/utils/test-vector.c b/common/utils/test-vector.c
index 28af59b8..6d89a281 100644
--- a/common/utils/test-vector.c
+++ b/common/utils/test-vector.c
@@ -73,7 +73,7 @@ test_int64_vector (void)
assert (v.ptr[i] == i);
int64_vector_remove (&v, 1);
- assert (v.size == 9);
+ assert (v.len == 9);
assert (v.ptr[1] == 2);
tmp = 10;
diff --git a/common/utils/vector.h b/common/utils/vector.h
index 782dcba6..1d04f812 100644
--- a/common/utils/vector.h
+++ b/common/utils/vector.h
@@ -59,14 +59,14 @@
*
* string_vector names = empty_vector;
*
- * where names.ptr[] will be an array of strings and names.size
+ * where names.ptr[] will be an array of strings and names.len
* will be the number of strings. There are no get/set accessors. To
* iterate over the strings you can use the .ptr field directly:
*
- * for (size_t i = 0; i < names.size; ++i)
+ * for (size_t i = 0; i < names.len; ++i)
* printf ("%s\n", names.ptr[i]);
*
- * Initializing with empty_vector sets .ptr = NULL and .size = 0.
+ * Initializing with empty_vector sets .ptr = NULL and .len = 0.
*
* DEFINE_VECTOR_TYPE also defines utility functions. For the full
* list see the definition below, but useful functions include:
@@ -84,15 +84,15 @@
*/
#define DEFINE_VECTOR_TYPE(name, type) \
struct name { \
- type *ptr; /* Pointer to array of items. */ \
- size_t size; /* Number of valid items in the array. */ \
- size_t cap; /* Maximum number of items. */ \
+ type *ptr; /* Pointer to array of items. */ \
+ size_t len; /* Number of valid items in the array. */ \
+ size_t cap; /* Maximum number of items. */ \
}; \
typedef struct name name; \
\
/* Reserve n elements at the end of the vector. Note space is \
- * allocated but the vector size is not increased and the new \
- * elements are not initialized. \
+ * allocated and capacity is increased, but the vector length \
+ * is not increased and the new elements are not initialized. \
*/ \
static inline int \
name##_reserve (name *v, size_t n) \
@@ -101,17 +101,17 @@
sizeof (type)); \
} \
\
- /* Insert at i'th element. i=0 => beginning i=size => append */ \
+ /* Insert at i'th element. i=0 => beginning i=len => append */ \
static inline int \
name##_insert (name *v, type elem, size_t i) \
{ \
- assert (i <= v->size); \
- if (v->size >= v->cap) { \
+ assert (i <= v->len); \
+ if (v->len >= v->cap) { \
if (name##_reserve (v, 1) == -1) return -1; \
} \
- memmove (&v->ptr[i+1], &v->ptr[i], (v->size-i) * sizeof (elem)); \
+ memmove (&v->ptr[i+1], &v->ptr[i], (v->len-i) * sizeof (elem)); \
v->ptr[i] = elem; \
- v->size++; \
+ v->len++; \
return 0; \
} \
\
@@ -119,16 +119,16 @@
static inline int \
name##_append (name *v, type elem) \
{ \
- return name##_insert (v, elem, v->size); \
+ return name##_insert (v, elem, v->len); \
} \
\
- /* Remove i'th element. i=0 => beginning i=size-1 => end */ \
+ /* Remove i'th element. i=0 => beginning i=len-1 => end */ \
static inline void \
name##_remove (name *v, size_t i) \
{ \
- assert (i < v->size); \
- memmove (&v->ptr[i], &v->ptr[i+1], (v->size-i-1) * sizeof (type)); \
- v->size--; \
+ assert (i < v->len); \
+ memmove (&v->ptr[i], &v->ptr[i+1], (v->len-i-1) * sizeof (type)); \
+ v->len--; \
} \
\
/* Remove all elements and deallocate the vector. */ \
@@ -137,7 +137,7 @@
{ \
free (v->ptr); \
v->ptr = NULL; \
- v->size = v->cap = 0; \
+ v->len = v->cap = 0; \
} \
\
/* Iterate over the vector, calling f() on each element. */ \
@@ -145,7 +145,7 @@
name##_iter (name *v, void (*f) (type elem)) \
{ \
size_t i; \
- for (i = 0; i < v->size; ++i) \
+ for (i = 0; i < v->len; ++i) \
f (v->ptr[i]); \
} \
\
@@ -154,7 +154,7 @@
name##_sort (name *v, \
int (*compare) (const type *p1, const type *p2)) \
{ \
- qsort (v->ptr, v->size, sizeof (type), (void *) compare); \
+ qsort (v->ptr, v->len, sizeof (type), (void *) compare); \
} \
\
/* Search for an exactly matching element in the vector using a \
@@ -164,7 +164,7 @@
name##_search (const name *v, const void *key, \
int (*compare) (const void *key, const type *v)) \
{ \
- return bsearch (key, v->ptr, v->size, sizeof (type), \
+ return bsearch (key, v->ptr, v->len, sizeof (type), \
(void *) compare); \
} \
\
@@ -175,22 +175,22 @@
/* Note it's allowed for v and copy to be the same pointer. */ \
type *vptr = v->ptr; \
type *newptr; \
- size_t len = v->size * sizeof (type); \
+ size_t len = v->len * sizeof (type); \
\
newptr = malloc (len); \
if (newptr == NULL) return -1; \
memcpy (newptr, vptr, len); \
copy->ptr = newptr; \
- copy->size = copy->cap = v->size; \
+ copy->len = copy->cap = v->len; \
return 0; \
} \
\
-#define empty_vector { .ptr = NULL, .size = 0, .cap = 0 }
+#define empty_vector { .ptr = NULL, .len = 0, .cap = 0 }
struct generic_vector {
void *ptr;
- size_t size;
+ size_t len;
size_t cap;
};
diff --git a/filters/ddrescue/ddrescue.c b/filters/ddrescue/ddrescue.c
index 7b1c9c1e..218c8ee5 100644
--- a/filters/ddrescue/ddrescue.c
+++ b/filters/ddrescue/ddrescue.c
@@ -180,7 +180,7 @@ ddrescue_pread (nbdkit_next *next,
{
size_t i;
- for (i = 0; i < map.ranges.size; i++) {
+ for (i = 0; i < map.ranges.len; i++) {
if (map.ranges.ptr[i].status != '+')
continue;
if (offset >= map.ranges.ptr[i].start && offset <= map.ranges.ptr[i].end) {
diff --git a/filters/exitwhen/exitwhen.c b/filters/exitwhen/exitwhen.c
index 543af058..83e99953 100644
--- a/filters/exitwhen/exitwhen.c
+++ b/filters/exitwhen/exitwhen.c
@@ -143,7 +143,7 @@ check_for_event (void)
size_t i;
if (!exiting) {
- for (i = 0; i < events.size; ++i) {
+ for (i = 0; i < events.len; ++i) {
const struct event *event = &events.ptr[i];
switch (event->type) {
diff --git a/filters/extentlist/extentlist.c b/filters/extentlist/extentlist.c
index 7e6f1b78..c91fbfea 100644
--- a/filters/extentlist/extentlist.c
+++ b/filters/extentlist/extentlist.c
@@ -134,7 +134,7 @@ parse_extentlist (void)
assert (extentlist != NULL);
assert (extents.ptr == NULL);
- assert (extents.size == 0);
+ assert (extents.len == 0);
fp = fopen (extentlist, "r");
if (!fp) {
@@ -200,7 +200,7 @@ parse_extentlist (void)
/* There must not be overlaps at this point. */
end = 0;
- for (i = 0; i < extents.size; ++i) {
+ for (i = 0; i < extents.len; ++i) {
if (extents.ptr[i].offset < end ||
extents.ptr[i].offset + extents.ptr[i].length < extents.ptr[i].offset) {
nbdkit_error ("extents in the extent list are overlapping");
@@ -210,8 +210,8 @@ parse_extentlist (void)
}
/* If there's a gap at the beginning, insert a hole|zero extent. */
- if (extents.size == 0 || extents.ptr[0].offset > 0) {
- end = extents.size == 0 ? UINT64_MAX : extents.ptr[0].offset;
+ if (extents.len == 0 || extents.ptr[0].offset > 0) {
+ end = extents.len == 0 ? UINT64_MAX : extents.ptr[0].offset;
if (extent_list_insert (&extents,
(struct extent){.offset = 0, .length = end,
.type = HOLE},
@@ -224,7 +224,7 @@ parse_extentlist (void)
/* Now insert hole|zero extents after every extent where there
* is a gap between that extent and the next one.
*/
- for (i = 0; i < extents.size-1; ++i) {
+ for (i = 0; i < extents.len-1; ++i) {
end = extents.ptr[i].offset + extents.ptr[i].length;
if (end < extents.ptr[i+1].offset)
if (extent_list_insert (&extents,
@@ -238,7 +238,7 @@ parse_extentlist (void)
}
/* If there's a gap at the end, insert a hole|zero extent. */
- end = extents.ptr[extents.size-1].offset + extents.ptr[extents.size-1].length;
+ end = extents.ptr[extents.len-1].offset + extents.ptr[extents.len-1].length;
if (end < UINT64_MAX) {
if (extent_list_append (&extents,
(struct extent){.offset = end,
@@ -250,7 +250,7 @@ parse_extentlist (void)
}
/* Debug the final list. */
- for (i = 0; i < extents.size; ++i) {
+ for (i = 0; i < extents.len; ++i) {
nbdkit_debug ("extentlist: "
"extent[%zu] = %" PRIu64 "-%" PRIu64 " (length %" PRIu64 ")"
" type %" PRIu32,
diff --git a/filters/multi-conn/multi-conn.c b/filters/multi-conn/multi-conn.c
index a6a25ef9..c7421a39 100644
--- a/filters/multi-conn/multi-conn.c
+++ b/filters/multi-conn/multi-conn.c
@@ -207,14 +207,14 @@ multi_conn_prepare (nbdkit_next *next, void *handle, int readonly)
ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&lock);
if (byname) {
g = NULL;
- for (i = 0; i < groups.size; i++)
+ for (i = 0; i < groups.len; i++)
if (strcmp (groups.ptr[i]->name, h->name) == 0) {
g = groups.ptr[i];
break;
}
}
else
- g = groups.size ? groups.ptr[0] : NULL;
+ g = groups.len ? groups.ptr[0] : NULL;
if (!g) {
g = calloc (1, sizeof *g);
@@ -230,7 +230,7 @@ multi_conn_prepare (nbdkit_next *next, void *handle, int readonly)
}
if (conns_vector_append (&g->conns, h) == -1) {
if (new_group) {
- group_vector_remove (&groups, groups.size - 1);
+ group_vector_remove (&groups, groups.len - 1);
free (g->name);
free (g);
}
@@ -251,14 +251,14 @@ multi_conn_finalize (nbdkit_next *next, void *handle)
assert (h->group);
/* XXX should we add a config param to flush if the client forgot? */
- for (i = 0; i < h->group->conns.size; i++) {
+ for (i = 0; i < h->group->conns.len; i++) {
if (h->group->conns.ptr[i] == h) {
conns_vector_remove (&h->group->conns, i);
break;
}
}
- if (h->group->conns.size == 0) {
- for (i = 0; i < groups.size; i++)
+ if (h->group->conns.len == 0) {
+ for (i = 0; i < groups.len; i++)
if (groups.ptr[i] == h->group) {
group_vector_remove (&groups, i);
free (h->group->name);
@@ -451,7 +451,7 @@ multi_conn_flush (nbdkit_next *next,
assert (h->group);
if (h->mode == EMULATE) {
ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&lock);
- for (i = 0; i < h->group->conns.size; i++) {
+ for (i = 0; i < h->group->conns.len; i++) {
h2 = h->group->conns.ptr[i];
if (track == OFF || (h->group->dirty &&
(track == FAST || h2->dirty & READ)) ||
@@ -474,7 +474,7 @@ multi_conn_flush (nbdkit_next *next,
case CONN:
if (next->can_multi_conn (next) == 1) {
ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&lock);
- for (i = 0; i < h->group->conns.size; i++)
+ for (i = 0; i < h->group->conns.len; i++)
h->group->conns.ptr[i]->dirty = 0;
h->group->dirty = 0;
}
diff --git a/plugins/cc/cc.c b/plugins/cc/cc.c
index 3251f312..c8c3c86b 100644
--- a/plugins/cc/cc.c
+++ b/plugins/cc/cc.c
@@ -292,12 +292,12 @@ cc_config_complete (void)
if (subplugin.load)
subplugin.load ();
if (subplugin.config) {
- for (i = 0; i < params.size; ++i) {
+ for (i = 0; i < params.len; ++i) {
if (subplugin.config (params.ptr[i].key, params.ptr[i].value) == -1)
return -1;
}
}
- else if (params.size > 0) {
+ else if (params.len > 0) {
/* Just print the first one in the error message. */
nbdkit_error ("unknown parameter: %s", params.ptr[0].key);
return -1;
diff --git a/plugins/data/data.c b/plugins/data/data.c
index 03bcc8a5..960cf97d 100644
--- a/plugins/data/data.c
+++ b/plugins/data/data.c
@@ -158,7 +158,7 @@ get_extra_param (const char *name)
{
size_t i;
- for (i = 0; i < params.size; ++i) {
+ for (i = 0; i < params.len; ++i) {
if (strcmp (params.ptr[i].key, name) == 0)
return params.ptr[i].value;
}
@@ -176,7 +176,7 @@ data_config_complete (void)
return -1;
}
- if (data_seen != DATA && params.size != 0) {
+ if (data_seen != DATA && params.len != 0) {
nbdkit_error ("extra parameters passed and not using data='...'");
return -1;
}
diff --git a/plugins/data/format.c b/plugins/data/format.c
index d351f79a..986a0f6e 100644
--- a/plugins/data/format.c
+++ b/plugins/data/format.c
@@ -83,7 +83,7 @@ substring (string s, size_t offset, size_t len)
string r = empty_vector;
for (i = 0; i < len; ++i) {
- assert (offset+i < s.size);
+ assert (offset+i < s.len);
if (string_append (&r, s.ptr[offset+i]) == -1) {
nbdkit_error ("realloc: %m");
exit (EXIT_FAILURE);
@@ -167,7 +167,7 @@ static expr_list expr_table;
static node_id
new_node (const expr_t e)
{
- if (expr_table.size == 0) {
+ if (expr_table.len == 0) {
static const expr_t enull = { .t = EXPR_NULL };
if (expr_list_append (&expr_table, enull) == -1)
goto out_of_memory;
@@ -179,14 +179,14 @@ new_node (const expr_t e)
nbdkit_error ("realloc");
exit (EXIT_FAILURE);
}
- return expr_table.size-1;
+ return expr_table.len-1;
}
/* Get an expression by node_id. */
static expr_t
get_node (node_id id)
{
- assert (id < expr_table.size);
+ assert (id < expr_table.len);
return expr_table.ptr[id];
}
@@ -196,7 +196,7 @@ free_expr_table (void)
size_t i;
expr_t e;
- for (i = 0; i < expr_table.size; ++i) {
+ for (i = 0; i < expr_table.len; ++i) {
e = get_node (i);
switch (e.t) {
case EXPR_LIST: free (e.list.ptr); break;
@@ -344,7 +344,7 @@ debug_expr (node_id id, int level)
break;
case EXPR_LIST:
nbdkit_debug ("%s(", debug_indent (level));
- for (i = 0; i < e.list.size; ++i)
+ for (i = 0; i < e.list.len; ++i)
debug_expr (e.list.ptr[i], level+1);
nbdkit_debug ("%s)", debug_indent (level));
break;
@@ -370,7 +370,7 @@ debug_expr (node_id id, int level)
CLEANUP_FREE_STRING string s = empty_vector;
static const char hex[] = "0123456789abcdef";
- for (i = 0; i < e.string.size; ++i) {
+ for (i = 0; i < e.string.len; ++i) {
char c = e.string.ptr[i];
if (ascii_isprint ((char) c))
string_append (&s, e.string.ptr[i]);
@@ -445,7 +445,7 @@ read_data_format (const char *value, struct allocator *a, uint64_t *size_rtn)
uint64_t offset = 0;
int r = -1;
- assert (expr_table.size == 0);
+ assert (expr_table.len == 0);
/* Run the parser across the entire string, returning the top level
* expression.
@@ -600,11 +600,11 @@ parser (int level, const char *value, size_t *start, size_t len,
case '*': /* expr*N */
i++;
- if (list.size == 0) {
+ if (list.len == 0) {
nbdkit_error ("*N must follow an expression");
return -1;
}
- if (! is_data_expr (get_node (list.ptr[list.size-1]))) {
+ if (! is_data_expr (get_node (list.ptr[list.len-1]))) {
nbdkit_error ("*N cannot be applied to this type of expression");
return -1;
}
@@ -619,18 +619,18 @@ parser (int level, const char *value, size_t *start, size_t len,
nbdkit_error ("*N not numeric");
return -1;
}
- id = list.ptr[list.size-1];
- list.size--;
+ id = list.ptr[list.len-1];
+ list.len--;
APPEND_EXPR (new_node (expr (EXPR_REPEAT, id, (uint64_t) i64)));
break;
case '[': /* expr[k:m] */
i++;
- if (list.size == 0) {
+ if (list.len == 0) {
nbdkit_error ("[N:M] must follow an expression");
return -1;
}
- if (! is_data_expr (get_node (list.ptr[list.size-1]))) {
+ if (! is_data_expr (get_node (list.ptr[list.len-1]))) {
nbdkit_error ("[N:M] cannot be applied to this type of expression");
return -1;
}
@@ -647,8 +647,8 @@ parser (int level, const char *value, size_t *start, size_t len,
nbdkit_error ("enclosed pattern (...)[N:M] not numeric");
return -1;
}
- id = list.ptr[list.size-1];
- list.size--;
+ id = list.ptr[list.len-1];
+ list.len--;
APPEND_EXPR (new_node (expr (EXPR_SLICE, id, i64, m)));
break;
@@ -720,11 +720,11 @@ parser (int level, const char *value, size_t *start, size_t len,
i++;
if (value[i] != '>') goto parse_error;
i++;
- if (list.size == 0) {
+ if (list.len == 0) {
nbdkit_error ("-> must follow an expression");
return -1;
}
- if (! is_data_expr (get_node (list.ptr[list.size-1]))) {
+ if (! is_data_expr (get_node (list.ptr[list.len-1]))) {
nbdkit_error ("-> cannot be applied to this type of expression");
return -1;
}
@@ -735,9 +735,9 @@ parser (int level, const char *value, size_t *start, size_t len,
nbdkit_error ("strndup: %m");
return -1;
}
- id = list.ptr[list.size-1];
+ id = list.ptr[list.len-1];
i += flen;
- list.size--;
+ list.len--;
APPEND_EXPR (new_node (expr (EXPR_ASSIGN, name, id)));
break;
}
@@ -1023,7 +1023,7 @@ parse_word (const char *value, size_t *start, size_t len, string *rtn)
}
memcpy (copy.ptr, &value[*start], n);
copy.ptr[n] = '\0';
- copy.size = n + 1;
+ copy.len = n + 1;
*start = i;
/* Reserve enough space in the return buffer for the longest
@@ -1036,22 +1036,22 @@ parse_word (const char *value, size_t *start, size_t len, string *rtn)
/* Parse the rest of {le|be}{16|32|64}: */
if (strncmp (copy.ptr, "le16:", 5) == 0) {
- endian = little; rtn->size = 2;
+ endian = little; rtn->len = 2;
}
else if (strncmp (copy.ptr, "le32:", 5) == 0) {
- endian = little; rtn->size = 4;
+ endian = little; rtn->len = 4;
}
else if (strncmp (copy.ptr, "le64:", 5) == 0) {
- endian = little; rtn->size = 8;
+ endian = little; rtn->len = 8;
}
else if (strncmp (copy.ptr, "be16:", 5) == 0) {
- endian = big; rtn->size = 2;
+ endian = big; rtn->len = 2;
}
else if (strncmp (copy.ptr, "be32:", 5) == 0) {
- endian = big; rtn->size = 4;
+ endian = big; rtn->len = 4;
}
else if (strncmp (copy.ptr, "be64:", 5) == 0) {
- endian = big; rtn->size = 8;
+ endian = big; rtn->len = 8;
}
else {
nbdkit_error ("data parameter: expected \"le16/32/64:\" "
@@ -1060,7 +1060,7 @@ parse_word (const char *value, size_t *start, size_t len, string *rtn)
}
/* Parse the word field into a host-order unsigned int. */
- switch (rtn->size) {
+ switch (rtn->len) {
case 2:
if (nbdkit_parse_uint16_t ("data", &copy.ptr[5], &u16) == -1)
return -1;
@@ -1081,7 +1081,7 @@ parse_word (const char *value, size_t *start, size_t len, string *rtn)
*/
switch (endian) {
case little:
- switch (rtn->size) {
+ switch (rtn->len) {
case 2: /* le16: */
*((uint16_t *) rtn->ptr) = htole16 (u16);
break;
@@ -1096,7 +1096,7 @@ parse_word (const char *value, size_t *start, size_t len, string *rtn)
break;
case big:
- switch (rtn->size) {
+ switch (rtn->len) {
case 2: /* be16: */
*((uint16_t *) rtn->ptr) = htobe16 (u16);
break;
@@ -1134,7 +1134,7 @@ optimize_ast (node_id root, node_id *root_rtn)
/* For convenience this makes a new list node. */
/* Optimize each element of the list. */
- for (i = 0; i < get_node (root).list.size; ++i) {
+ for (i = 0; i < get_node (root).list.len; ++i) {
id = get_node (root).list.ptr[i];
if (optimize_ast (id, &id) == -1)
return -1;
@@ -1148,7 +1148,7 @@ optimize_ast (node_id root, node_id *root_rtn)
* because flattening the list changes the scope.
*/
if (list_safe_to_inline (get_node (id).list)) {
- for (j = 0; j < get_node (id).list.size; ++j) {
+ for (j = 0; j < get_node (id).list.len; ++j) {
if (node_ids_append (&list, get_node (id).list.ptr[j]) == -1)
goto list_append_error;
}
@@ -1165,7 +1165,7 @@ optimize_ast (node_id root, node_id *root_rtn)
}
/* Combine adjacent pairs of elements if possible. */
- for (i = 1; i < list.size; ++i) {
+ for (i = 1; i < list.len; ++i) {
node_id id0, id1;
id0 = list.ptr[i-1];
@@ -1178,7 +1178,7 @@ optimize_ast (node_id root, node_id *root_rtn)
}
/* List of length 0 is replaced with null. */
- if (list.size == 0) {
+ if (list.len == 0) {
free (list.ptr);
*root_rtn = new_node (expr (EXPR_NULL));
return 0;
@@ -1187,7 +1187,7 @@ optimize_ast (node_id root, node_id *root_rtn)
/* List of length 1 is replaced with the first element, but as
* above avoid inlining if it is not a safe expression.
*/
- if (list.size == 1 && expr_safe_to_inline (get_node (list.ptr[0]))) {
+ if (list.len == 1 && expr_safe_to_inline (get_node (list.ptr[0]))) {
id = list.ptr[0];
free (list.ptr);
*root_rtn = id;
@@ -1242,13 +1242,13 @@ optimize_ast (node_id root, node_id *root_rtn)
*/
if (get_node (id).t == EXPR_STRING &&
get_node (root).r.n <= 4 &&
- get_node (id).string.size <= 512) {
+ get_node (id).string.len <= 512) {
string s = empty_vector;
size_t n = get_node (root).r.n;
const string sub = get_node (id).string;
for (i = 0; i < n; ++i) {
- for (j = 0; j < sub.size; ++j) {
+ for (j = 0; j < sub.len; ++j) {
if (string_append (&s, sub.ptr[j]) == -1) {
nbdkit_error ("realloc: %m");
return -1;
@@ -1307,7 +1307,7 @@ optimize_ast (node_id root, node_id *root_rtn)
}
break;
case EXPR_STRING: /* substring */
- len = get_node (id).string.size;
+ len = get_node (id).string.len;
if (m >= 0 && n <= m && m <= len) {
if (m-n == 1)
*root_rtn = new_node (expr (EXPR_BYTE, get_node (id).string.ptr[n]));
@@ -1355,23 +1355,23 @@ optimize_ast (node_id root, node_id *root_rtn)
case EXPR_STRING:
/* A zero length string can be replaced with null. */
- if (get_node (root).string.size == 0) {
+ if (get_node (root).string.len == 0) {
*root_rtn = new_node (expr (EXPR_NULL));
return 0;
}
/* Strings containing the same character can be replaced by a
* fill. These can be produced by other optimizations.
*/
- if (get_node (root).string.size > 1) {
+ if (get_node (root).string.len > 1) {
const string s = get_node (root).string;
uint8_t b = s.ptr[0];
- for (i = 1; i < s.size; ++i)
+ for (i = 1; i < s.len; ++i)
if (s.ptr[i] != b)
break;
- if (i == s.size) {
- *root_rtn = new_node (expr (EXPR_FILL, b, (uint64_t) s.size));
+ if (i == s.len) {
+ *root_rtn = new_node (expr (EXPR_FILL, b, (uint64_t) s.len));
return 0;
}
}
@@ -1442,7 +1442,7 @@ list_safe_to_inline (const node_ids list)
{
size_t i;
- for (i = 0; i < list.size; ++i) {
+ for (i = 0; i < list.len; ++i) {
if (!expr_safe_to_inline (get_node (list.ptr[i])))
return false;
}
@@ -1461,11 +1461,11 @@ expr_is_single_byte (const expr_t e, uint8_t *b)
if (b) *b = e.b;
return true;
case EXPR_LIST: /* A single element list if it is single byte */
- if (e.list.size != 1)
+ if (e.list.len != 1)
return false;
return expr_is_single_byte (get_node (e.list.ptr[0]), b);
case EXPR_STRING: /* A length-1 string. */
- if (e.string.size != 1)
+ if (e.string.len != 1)
return false;
if (b) *b = e.string.ptr[0];
return true;
@@ -1511,10 +1511,10 @@ exprs_can_combine (expr_t e0, expr_t e1, node_id *id_rtn)
}
return true;
case EXPR_STRING: /* byte string => string */
- len = e1.string.size;
+ len = e1.string.len;
if (string_reserve (&s, len+1) == -1)
goto out_of_memory;
- s.size = len+1;
+ s.len = len+1;
s.ptr[0] = e0.b;
memcpy (&s.ptr[1], e1.string.ptr, len);
*id_rtn = new_node (expr (EXPR_STRING, s));
@@ -1533,20 +1533,20 @@ exprs_can_combine (expr_t e0, expr_t e1, node_id *id_rtn)
case EXPR_STRING:
switch (e1.t) {
case EXPR_BYTE: /* string byte => string */
- len = e0.string.size;
+ len = e0.string.len;
if (string_reserve (&s, len+1) == -1)
goto out_of_memory;
- s.size = len+1;
+ s.len = len+1;
memcpy (s.ptr, e0.string.ptr, len);
s.ptr[len] = e1.b;
*id_rtn = new_node (expr (EXPR_STRING, s));
return true;
case EXPR_STRING: /* string string => string */
- len = e0.string.size;
- len1 = e1.string.size;
+ len = e0.string.len;
+ len1 = e1.string.len;
if (string_reserve (&s, len+len1) == -1)
goto out_of_memory;
- s.size = len+len1;
+ s.len = len+len1;
memcpy (s.ptr, e0.string.ptr, len);
memcpy (&s.ptr[len], e1.string.ptr, len1);
*id_rtn = new_node (expr (EXPR_STRING, s));
@@ -1618,11 +1618,11 @@ evaluate (const dict_t *dict, node_id root,
list = get_node (root).list;
}
else {
- list.size = 1;
+ list.len = 1;
list.ptr = &root;
}
- for (i = 0; i < list.size; ++i) {
+ for (i = 0; i < list.len; ++i) {
const expr_t e = get_node (list.ptr[i]);
switch (e.t) {
@@ -1667,9 +1667,9 @@ evaluate (const dict_t *dict, node_id root,
case EXPR_STRING:
/* Copy the string into the allocator. */
- if (a->f->write (a, e.string.ptr, e.string.size, *offset) == -1)
+ if (a->f->write (a, e.string.ptr, e.string.len, *offset) == -1)
return -1;
- *offset += e.string.size;
+ *offset += e.string.len;
break;
case EXPR_FILL:
diff --git a/plugins/eval/eval.c b/plugins/eval/eval.c
index fa1c23ff..b312a59c 100644
--- a/plugins/eval/eval.c
+++ b/plugins/eval/eval.c
@@ -114,7 +114,7 @@ insert_method_script (const char *method, char *script)
size_t i;
struct method_script new_entry = { .method = method, .script = script };
- for (i = 0; i < method_scripts.size; ++i) {
+ for (i = 0; i < method_scripts.len; ++i) {
r = compare_script (method, &method_scripts.ptr[i]);
/* This shouldn't happen. insert_method_script() must not be
* called if the method has already been added. Call get_script()
diff --git a/plugins/floppy/directory-lfn.c b/plugins/floppy/directory-lfn.c
index a87d376a..fe47e0b6 100644
--- a/plugins/floppy/directory-lfn.c
+++ b/plugins/floppy/directory-lfn.c
@@ -79,8 +79,8 @@ create_directory (size_t di, const char *label,
struct virtual_floppy *floppy)
{
size_t i;
- const size_t nr_subdirs = floppy->dirs.ptr[di].subdirs.size;
- const size_t nr_files = floppy->dirs.ptr[di].fileidxs.size;
+ const size_t nr_subdirs = floppy->dirs.ptr[di].subdirs.len;
+ const size_t nr_files = floppy->dirs.ptr[di].fileidxs.len;
struct lfn *lfns, *lfn;
const char *name;
uint8_t attributes;
@@ -109,14 +109,14 @@ create_directory (size_t di, const char *label,
}
for (i = 0; i < nr_subdirs; ++i) {
const size_t sdi = floppy->dirs.ptr[di].subdirs.ptr[i];
- assert (sdi < floppy->dirs.size);
+ assert (sdi < floppy->dirs.len);
name = floppy->dirs.ptr[sdi].name;
lfns[i].name = name;
}
for (i = 0; i < nr_files; ++i) {
const size_t fi = floppy->dirs.ptr[di].fileidxs.ptr[i];
- assert (fi < floppy->files.size);
+ assert (fi < floppy->files.len);
name = floppy->files.ptr[fi].name;
lfns[nr_subdirs+i].name = name;
@@ -132,7 +132,7 @@ create_directory (size_t di, const char *label,
file_size = 0;
for (i = 0; i < nr_subdirs; ++i) {
const size_t sdi = floppy->dirs.ptr[di].subdirs.ptr[i];
- assert (sdi < floppy->dirs.size);
+ assert (sdi < floppy->dirs.len);
lfn = &lfns[i];
statbuf = &floppy->dirs.ptr[sdi].statbuf;
@@ -148,7 +148,7 @@ create_directory (size_t di, const char *label,
attributes = DIR_ENTRY_ARCHIVE; /* Same as set by Linux kernel. */
for (i = 0; i < nr_files; ++i) {
const size_t fi = floppy->dirs.ptr[di].fileidxs.ptr[i];
- assert (fi < floppy->files.size);
+ assert (fi < floppy->files.len);
lfn = &lfns[nr_subdirs+i];
statbuf = &floppy->files.ptr[fi].statbuf;
@@ -532,7 +532,7 @@ append_dir_table (size_t di, const struct dir_entry *entry,
{
size_t i;
- i = floppy->dirs.ptr[di].table.size;
+ i = floppy->dirs.ptr[di].table.len;
if (dir_entries_append (&floppy->dirs.ptr[di].table, *entry) == -1) {
nbdkit_error ("realloc: %m");
return -1;
@@ -550,8 +550,8 @@ int
update_directory_first_cluster (size_t di, struct virtual_floppy *floppy)
{
size_t i, j, pdi;
- const size_t nr_subdirs = floppy->dirs.ptr[di].subdirs.size;
- const size_t nr_files = floppy->dirs.ptr[di].fileidxs.size;
+ const size_t nr_subdirs = floppy->dirs.ptr[di].subdirs.len;
+ const size_t nr_files = floppy->dirs.ptr[di].fileidxs.len;
uint32_t first_cluster;
struct dir_entry *entry;
@@ -561,7 +561,7 @@ update_directory_first_cluster (size_t di, struct virtual_floppy *floppy)
* table entries.
*/
i = 0;
- for (j = 0; j < floppy->dirs.ptr[di].table.size; ++j) {
+ for (j = 0; j < floppy->dirs.ptr[di].table.len; ++j) {
entry = &floppy->dirs.ptr[di].table.ptr[j];
/* Skip LFN entries. */
@@ -596,12 +596,12 @@ update_directory_first_cluster (size_t di, struct virtual_floppy *floppy)
*/
if (i < nr_subdirs) {
const size_t sdi = floppy->dirs.ptr[di].subdirs.ptr[i];
- assert (sdi < floppy->dirs.size);
+ assert (sdi < floppy->dirs.len);
first_cluster = floppy->dirs.ptr[sdi].first_cluster;
}
else if (i < nr_subdirs + nr_files) {
const size_t fi = floppy->dirs.ptr[di].fileidxs.ptr[i-nr_subdirs];
- assert (fi < floppy->files.size);
+ assert (fi < floppy->files.len);
first_cluster = floppy->files.ptr[fi].first_cluster;
}
else
diff --git a/plugins/floppy/floppy.c b/plugins/floppy/floppy.c
index 80f350af..938f5bec 100644
--- a/plugins/floppy/floppy.c
+++ b/plugins/floppy/floppy.c
@@ -172,7 +172,7 @@ floppy_pread (void *handle, void *buf, uint32_t count, uint64_t offset)
switch (region->type) {
case region_file:
i = region->u.i;
- assert (i < floppy.files.size);
+ assert (i < floppy.files.len);
host_path = floppy.files.ptr[i].host_path;
fd = open (host_path, O_RDONLY|O_CLOEXEC);
if (fd == -1) {
diff --git a/plugins/floppy/virtual-floppy.c b/plugins/floppy/virtual-floppy.c
index 6eae5600..b1546bd5 100644
--- a/plugins/floppy/virtual-floppy.c
+++ b/plugins/floppy/virtual-floppy.c
@@ -97,10 +97,10 @@ create_virtual_floppy (const char *dir, const char *label, uint64_t size,
return -1;
nbdkit_debug ("floppy: %zu directories and %zu files",
- floppy->dirs.size, floppy->files.size);
+ floppy->dirs.len, floppy->files.len);
/* Create the on disk directory tables. */
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
if (create_directory (i, label, floppy) == -1)
return -1;
}
@@ -115,10 +115,10 @@ create_virtual_floppy (const char *dir, const char *label, uint64_t size,
*/
data_used_size = 0;
cluster = 2;
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
floppy->dirs.ptr[i].first_cluster = cluster;
nr_bytes =
- ROUND_UP (floppy->dirs.ptr[i].table.size * sizeof (struct dir_entry),
+ ROUND_UP (floppy->dirs.ptr[i].table.len * sizeof (struct dir_entry),
CLUSTER_SIZE);
data_used_size += nr_bytes;
nr_clusters = nr_bytes / CLUSTER_SIZE;
@@ -127,7 +127,7 @@ create_virtual_floppy (const char *dir, const char *label, uint64_t size,
floppy->dirs.ptr[i].nr_clusters = nr_clusters;
cluster += nr_clusters;
}
- for (i = 0; i < floppy->files.size; ++i) {
+ for (i = 0; i < floppy->files.len; ++i) {
floppy->files.ptr[i].first_cluster = cluster;
nr_bytes = ROUND_UP (floppy->files.ptr[i].statbuf.st_size, CLUSTER_SIZE);
data_used_size += nr_bytes;
@@ -187,7 +187,7 @@ create_virtual_floppy (const char *dir, const char *label, uint64_t size,
* directory entries (which we didn't have available during
* create_directory above).
*/
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
if (update_directory_first_cluster (i, floppy) == -1)
return -1;
}
@@ -230,13 +230,13 @@ free_virtual_floppy (struct virtual_floppy *floppy)
free (floppy->fat);
- for (i = 0; i < floppy->files.size; ++i) {
+ for (i = 0; i < floppy->files.len; ++i) {
free (floppy->files.ptr[i].name);
free (floppy->files.ptr[i].host_path);
}
free (floppy->files.ptr);
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
free (floppy->dirs.ptr[i].name);
free (floppy->dirs.ptr[i].subdirs.ptr);
free (floppy->dirs.ptr[i].fileidxs.ptr);
@@ -266,7 +266,7 @@ visit (const char *dir, struct virtual_floppy *floppy)
* directory will always be at dirs[0].
*/
memset (&null_dir, 0, sizeof null_dir);
- di = floppy->dirs.size;
+ di = floppy->dirs.len;
if (dirs_append (&floppy->dirs, null_dir) == -1) {
nbdkit_error ("realloc: %m");
goto error0;
@@ -423,7 +423,7 @@ visit_file (const char *dir, const char *name,
}
new_file.host_path = host_path;
new_file.statbuf = *statbuf;
- fi = floppy->files.size;
+ fi = floppy->files.len;
if (files_append (&floppy->files, new_file) == -1) {
nbdkit_error ("realloc: %m");
free (host_path);
@@ -574,11 +574,11 @@ create_fat (struct virtual_floppy *floppy)
floppy->fat[0] = htole32 (0x0ffffff8);
floppy->fat[1] = htole32 (0x0fffffff);
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
write_fat_file (floppy->dirs.ptr[i].first_cluster,
floppy->dirs.ptr[i].nr_clusters, floppy);
}
- for (i = 0; i < floppy->files.size; ++i) {
+ for (i = 0; i < floppy->files.len; ++i) {
write_fat_file (floppy->files.ptr[i].first_cluster,
floppy->files.ptr[i].nr_clusters, floppy);
}
@@ -676,15 +676,15 @@ create_regions (struct virtual_floppy *floppy)
/* Now we're into the data region. We add all directory tables
* first.
*/
- for (i = 0; i < floppy->dirs.size; ++i) {
+ for (i = 0; i < floppy->dirs.len; ++i) {
/* Directories can never be completely empty because of the volume
* label (root) or "." and ".." entries (non-root).
*/
- assert (floppy->dirs.ptr[i].table.size > 0);
+ assert (floppy->dirs.ptr[i].table.len > 0);
if (append_region_len (&floppy->regions,
i == 0 ? "root directory" : floppy->dirs.ptr[i].name,
- floppy->dirs.ptr[i].table.size *
+ floppy->dirs.ptr[i].table.len *
sizeof (struct dir_entry),
0, CLUSTER_SIZE,
region_data,
@@ -693,7 +693,7 @@ create_regions (struct virtual_floppy *floppy)
}
/* Add all files. */
- for (i = 0; i < floppy->files.size; ++i) {
+ for (i = 0; i < floppy->files.len; ++i) {
/* It's possible for a file to have zero size, in which case it
* doesn't occupy a region or cluster.
*/
diff --git a/plugins/iso/iso.c b/plugins/iso/iso.c
index cb621f41..e232175f 100644
--- a/plugins/iso/iso.c
+++ b/plugins/iso/iso.c
@@ -105,7 +105,7 @@ make_iso (void)
fprintf (fp, " -quiet");
if (params)
fprintf (fp, " %s", params);
- for (i = 0; i < dirs.size; ++i) {
+ for (i = 0; i < dirs.len; ++i) {
fputc (' ', fp);
shell_quote (dirs.ptr[i], fp);
}
@@ -169,7 +169,7 @@ iso_config (const char *key, const char *value)
static int
iso_config_complete (void)
{
- if (dirs.size == 0) {
+ if (dirs.len == 0) {
nbdkit_error ("you must supply the dir=<DIRECTORY> parameter "
"after the plugin name on the command line");
return -1;
diff --git a/plugins/nbd/nbd.c b/plugins/nbd/nbd.c
index 488eadb2..ae595ea7 100644
--- a/plugins/nbd/nbd.c
+++ b/plugins/nbd/nbd.c
@@ -244,7 +244,7 @@ static int
nbdplug_config_complete (void)
{
int c = !!sockname + !!hostname + !!uri +
- (command.size > 0) + (socket_fd >= 0) + !!raw_cid;
+ (command.len > 0) + (socket_fd >= 0) + !!raw_cid;
/* Check the user passed exactly one connection parameter. */
if (c > 1) {
@@ -303,7 +303,7 @@ nbdplug_config_complete (void)
return -1;
#endif
}
- else if (command.size > 0) {
+ else if (command.len > 0) {
/* Add NULL sentinel to the command. */
if (string_vector_append (&command, NULL) == -1) {
nbdkit_error ("realloc: %m");
@@ -574,7 +574,7 @@ nbdplug_connect (struct nbd_handle *nbd)
#else
return nbd_connect_vsock (nbd, cid, vport);
#endif
- else if (command.size > 0)
+ else if (command.len > 0)
return nbd_connect_systemd_socket_activation (nbd, (char **) command.ptr);
else if (socket_fd >= 0)
return nbd_connect_socket (nbd, socket_fd);
diff --git a/plugins/partitioning/partition-mbr.c b/plugins/partitioning/partition-mbr.c
index 9a1a043c..1f178dcb 100644
--- a/plugins/partitioning/partition-mbr.c
+++ b/plugins/partitioning/partition-mbr.c
@@ -62,9 +62,9 @@ create_mbr_layout (void)
primary[0x1fe] = 0x55;
primary[0x1ff] = 0xaa;
- if (the_files.size <= 4) {
+ if (the_files.len <= 4) {
/* Basic MBR with no extended partition. */
- for (i = 0; i < the_files.size; ++i) {
+ for (i = 0; i < the_files.len; ++i) {
const struct region *region = find_file_region (i, &j);
create_mbr_partition_table_entry (region, i == 0, the_files.ptr[i].mbr_id,
@@ -97,7 +97,7 @@ create_mbr_layout (void)
/* The remaining files are mapped to logical partitions living in
* the fourth extended partition.
*/
- for (i = 3; i < the_files.size; ++i) {
+ for (i = 3; i < the_files.len; ++i) {
if (i == 3)
eptr = eptr0;
else
@@ -117,7 +117,7 @@ create_mbr_layout (void)
create_mbr_partition_table_entry (&region, false, the_files.ptr[i].mbr_id,
&ebr[i-3][0x1be]);
- if (i < the_files.size-1) {
+ if (i < the_files.len-1) {
size_t j2 = j;
const struct region *enext = find_ebr_region (i+1, &j2);
const struct region *rnext = find_file_region (i+1, &j2);
diff --git a/plugins/partitioning/partitioning.c b/plugins/partitioning/partitioning.c
index 231b2d77..2301ba4e 100644
--- a/plugins/partitioning/partitioning.c
+++ b/plugins/partitioning/partitioning.c
@@ -104,7 +104,7 @@ partitioning_unload (void)
{
size_t i;
- for (i = 0; i < the_files.size; ++i)
+ for (i = 0; i < the_files.len; ++i)
close (the_files.ptr[i].fd);
free (the_files.ptr);
@@ -116,7 +116,7 @@ partitioning_unload (void)
free (primary);
free (secondary);
if (ebr) {
- for (i = 0; i < the_files.size-3; ++i)
+ for (i = 0; i < the_files.len-3; ++i)
free (ebr[i]);
free (ebr);
}
@@ -235,19 +235,19 @@ partitioning_config_complete (void)
bool needs_gpt;
/* Not enough / too many files? */
- if (the_files.size == 0) {
+ if (the_files.len == 0) {
nbdkit_error ("at least one file= parameter must be supplied");
return -1;
}
total_size = 0;
- for (i = 0; i < the_files.size; ++i)
+ for (i = 0; i < the_files.len; ++i)
total_size += the_files.ptr[i].statbuf.st_size;
needs_gpt = total_size > MAX_MBR_DISK_SIZE;
/* Choose default parttype if not set. */
if (parttype == PARTTYPE_UNSET) {
- if (needs_gpt || the_files.size > 4) {
+ if (needs_gpt || the_files.len > 4) {
parttype = PARTTYPE_GPT;
nbdkit_debug ("picking partition type GPT");
}
@@ -262,7 +262,7 @@ partitioning_config_complete (void)
"but you requested %zu partition(s) "
"and a total size of %" PRIu64 " bytes (> %" PRIu64 "). "
"Try using: partition-type=gpt",
- the_files.size, total_size, (uint64_t) MAX_MBR_DISK_SIZE);
+ the_files.len, total_size, (uint64_t) MAX_MBR_DISK_SIZE);
return -1;
}
@@ -327,7 +327,7 @@ partitioning_pread (void *handle, void *buf, uint32_t count, uint64_t offset)
switch (region->type) {
case region_file:
i = region->u.i;
- assert (i < the_files.size);
+ assert (i < the_files.len);
r = pread (the_files.ptr[i].fd, buf, len, offset - region->start);
if (r == -1) {
nbdkit_error ("pread: %s: %m", the_files.ptr[i].filename);
@@ -376,7 +376,7 @@ partitioning_pwrite (void *handle,
switch (region->type) {
case region_file:
i = region->u.i;
- assert (i < the_files.size);
+ assert (i < the_files.len);
r = pwrite (the_files.ptr[i].fd, buf, len, offset - region->start);
if (r == -1) {
nbdkit_error ("pwrite: %s: %m", the_files.ptr[i].filename);
@@ -418,7 +418,7 @@ partitioning_flush (void *handle)
{
size_t i;
- for (i = 0; i < the_files.size; ++i) {
+ for (i = 0; i < the_files.len; ++i) {
if (fdatasync (the_files.ptr[i].fd) == -1) {
nbdkit_error ("fdatasync: %m");
return -1;
diff --git a/plugins/partitioning/virtual-disk.c b/plugins/partitioning/virtual-disk.c
index 389a17b6..d46ca46a 100644
--- a/plugins/partitioning/virtual-disk.c
+++ b/plugins/partitioning/virtual-disk.c
@@ -56,7 +56,7 @@ create_virtual_disk_layout (void)
size_t i;
assert (nr_regions (&the_regions) == 0);
- assert (the_files.size > 0);
+ assert (the_files.len > 0);
assert (primary == NULL);
assert (secondary == NULL);
@@ -68,17 +68,17 @@ create_virtual_disk_layout (void)
return -1;
}
- if (the_files.size > 4) {
+ if (the_files.len > 4) {
/* The first 3 primary partitions will be real partitions, the
* 4th will be an extended partition, and so we need to store
* EBRs for the_files.size-3 logical partitions.
*/
- ebr = malloc (sizeof (unsigned char *) * (the_files.size-3));
+ ebr = malloc (sizeof (unsigned char *) * (the_files.len-3));
if (ebr == NULL) {
nbdkit_error ("malloc: %m");
return -1;
}
- for (i = 0; i < the_files.size-3; ++i) {
+ for (i = 0; i < the_files.len-3; ++i) {
ebr[i] = calloc (1, SECTOR_SIZE);
if (ebr[i] == NULL) {
nbdkit_error ("malloc: %m");
@@ -117,7 +117,7 @@ create_virtual_disk_layout (void)
}
/* The partitions. */
- for (i = 0; i < the_files.size; ++i) {
+ for (i = 0; i < the_files.len; ++i) {
uint64_t offset;
offset = virtual_size (&the_regions);
@@ -127,7 +127,7 @@ create_virtual_disk_layout (void)
assert (IS_ALIGNED (offset, SECTOR_SIZE));
/* Logical partitions are preceeded by an EBR. */
- if (parttype == PARTTYPE_MBR && the_files.size > 4 && i >= 3) {
+ if (parttype == PARTTYPE_MBR && the_files.len > 4 && i >= 3) {
if (append_region_len (&the_regions, "EBR",
SECTOR_SIZE, 0, 0,
region_data, ebr[i-3]) == -1)
diff --git a/plugins/partitioning/virtual-disk.h b/plugins/partitioning/virtual-disk.h
index 7032dfc8..d56c2b86 100644
--- a/plugins/partitioning/virtual-disk.h
+++ b/plugins/partitioning/virtual-disk.h
@@ -55,7 +55,7 @@
* 32 if the number of files is <= GPT_MIN_PARTITIONS, which is the
* normal case.
*/
-#define GPT_PTA_SIZE ROUND_UP (the_files.size, GPT_MIN_PARTITIONS)
+#define GPT_PTA_SIZE ROUND_UP (the_files.len, GPT_MIN_PARTITIONS)
#define GPT_PTA_LBAs (GPT_PTA_SIZE * GPT_PT_ENTRY_SIZE / SECTOR_SIZE)
/* Maximum possible and default alignment between partitions. */
diff --git a/plugins/split/split.c b/plugins/split/split.c
index c559a0cd..4c9790a6 100644
--- a/plugins/split/split.c
+++ b/plugins/split/split.c
@@ -121,13 +121,13 @@ split_open (int readonly)
return NULL;
}
- h->files = malloc (filenames.size * sizeof (struct file));
+ h->files = malloc (filenames.len * sizeof (struct file));
if (h->files == NULL) {
nbdkit_error ("malloc: %m");
free (h);
return NULL;
}
- for (i = 0; i < filenames.size; ++i)
+ for (i = 0; i < filenames.len; ++i)
h->files[i].fd = -1;
/* Open the files. */
@@ -137,7 +137,7 @@ split_open (int readonly)
else
flags |= O_RDWR;
- for (i = 0; i < filenames.size; ++i) {
+ for (i = 0; i < filenames.len; ++i) {
h->files[i].fd = open (filenames.ptr[i], flags);
if (h->files[i].fd == -1) {
nbdkit_error ("open: %s: %m", filenames.ptr[i]);
@@ -146,7 +146,7 @@ split_open (int readonly)
}
offset = 0;
- for (i = 0; i < filenames.size; ++i) {
+ for (i = 0; i < filenames.len; ++i) {
h->files[i].offset = offset;
if (fstat (h->files[i].fd, &statbuf) == -1) {
@@ -179,7 +179,7 @@ split_open (int readonly)
return h;
err:
- for (i = 0; i < filenames.size; ++i) {
+ for (i = 0; i < filenames.len; ++i) {
if (h->files[i].fd >= 0)
close (h->files[i].fd);
}
@@ -195,7 +195,7 @@ split_close (void *handle)
struct handle *h = handle;
size_t i;
- for (i = 0; i < filenames.size; ++i)
+ for (i = 0; i < filenames.len; ++i)
close (h->files[i].fd);
free (h->files);
free (h);
@@ -242,7 +242,7 @@ static struct file *
get_file (struct handle *h, uint64_t offset)
{
return bsearch (&offset, h->files,
- filenames.size, sizeof (struct file),
+ filenames.len, sizeof (struct file),
compare_offset);
}
diff --git a/plugins/ssh/ssh.c b/plugins/ssh/ssh.c
index 535caf1a..80623525 100644
--- a/plugins/ssh/ssh.c
+++ b/plugins/ssh/ssh.c
@@ -397,7 +397,7 @@ ssh_open (int readonly)
* as this file is rarely present.
*/
}
- for (i = 0; i < identities.size; ++i) {
+ for (i = 0; i < identities.len; ++i) {
r = ssh_options_set (h->session,
SSH_OPTIONS_ADD_IDENTITY, identities.ptr[i]);
if (r != SSH_OK) {
diff --git a/plugins/vddk/reexec.c b/plugins/vddk/reexec.c
index 9e87025e..4eae2221 100644
--- a/plugins/vddk/reexec.c
+++ b/plugins/vddk/reexec.c
@@ -116,20 +116,20 @@ perform_reexec (const char *env, const char *prepend)
nbdkit_error ("realloc: %m");
exit (EXIT_FAILURE);
}
- r = read (fd, buf.ptr + buf.size, buf.cap - buf.size);
+ r = read (fd, buf.ptr + buf.len, buf.cap - buf.len);
if (r == -1) {
nbdkit_error ("read: %s: %m", cmdline_file);
exit (EXIT_FAILURE);
}
if (r == 0)
break;
- buf.size += r;
+ buf.len += r;
}
close (fd);
- nbdkit_debug ("original command line occupies %zu bytes", buf.size);
+ nbdkit_debug ("original command line occupies %zu bytes", buf.len);
/* Split cmdline into argv, then append one more arg. */
- for (len = 0; len < buf.size; len += strlen (buf.ptr + len) + 1) {
+ for (len = 0; len < buf.len; len += strlen (buf.ptr + len) + 1) {
char *arg = buf.ptr + len; /* Next \0-terminated argument. */
/* See below for why we eat password parameter(s). */
diff --git a/plugins/vddk/stats.c b/plugins/vddk/stats.c
index 76e0c244..bb5401b1 100644
--- a/plugins/vddk/stats.c
+++ b/plugins/vddk/stats.c
@@ -94,12 +94,12 @@ display_stats (void)
#undef STUB
#undef OPTIONAL_STUB
- qsort (stats.ptr, stats.size, sizeof stats.ptr[0], stat_compare);
+ qsort (stats.ptr, stats.len, sizeof stats.ptr[0], stat_compare);
nbdkit_debug ("VDDK function stats (-D vddk.stats=1):");
nbdkit_debug ("%-24s %15s %5s %15s",
"VixDiskLib_...", "µs", "calls", "bytes");
- for (i = 0; i < stats.size; ++i) {
+ for (i = 0; i < stats.len; ++i) {
if (stats.ptr[i].usecs) {
if (stats.ptr[i].bytes > 0)
nbdkit_debug (" %-22s %15" PRIi64 " %5" PRIu64 " %15" PRIu64,
diff --git a/plugins/vddk/worker.c b/plugins/vddk/worker.c
index 2a1d4f26..c6e2fd22 100644
--- a/plugins/vddk/worker.c
+++ b/plugins/vddk/worker.c
@@ -82,7 +82,7 @@ send_command_and_wait (struct vddk_handle *h, struct command *cmd)
return -1;
/* Signal the caller if it could be sleeping on an empty queue. */
- if (h->commands.size == 1)
+ if (h->commands.len == 1)
pthread_cond_signal (&h->commands_cond);
/* This will be used to signal command completion back to us. */
@@ -497,7 +497,7 @@ vddk_worker_thread (void *handle)
/* Wait until we are sent at least one command. */
{
ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&h->commands_lock);
- while (h->commands.size == 0)
+ while (h->commands.len == 0)
pthread_cond_wait (&h->commands_cond, &h->commands_lock);
cmd = h->commands.ptr[0];
command_queue_remove (&h->commands, 0);
diff --git a/server/exports.c b/server/exports.c
index 7ce1eda9..12c8a879 100644
--- a/server/exports.c
+++ b/server/exports.c
@@ -90,13 +90,13 @@ nbdkit_exports_free (struct nbdkit_exports *exps)
NBDKIT_DLL_PUBLIC size_t
nbdkit_exports_count (const struct nbdkit_exports *exps)
{
- return exps->exports.size;
+ return exps->exports.len;
}
NBDKIT_DLL_PUBLIC const struct nbdkit_export
nbdkit_get_export (const struct nbdkit_exports *exps, size_t i)
{
- assert (i < exps->exports.size);
+ assert (i < exps->exports.len);
return exps->exports.ptr[i];
}
@@ -106,7 +106,7 @@ nbdkit_add_export (struct nbdkit_exports *exps,
{
struct nbdkit_export e = { NULL, NULL };
- if (exps->exports.size == MAX_EXPORTS) {
+ if (exps->exports.len == MAX_EXPORTS) {
nbdkit_error ("nbdkit_add_export: too many exports");
errno = EINVAL;
return -1;
diff --git a/server/extents.c b/server/extents.c
index 8da82cf1..e180e313 100644
--- a/server/extents.c
+++ b/server/extents.c
@@ -117,13 +117,13 @@ nbdkit_extents_free (struct nbdkit_extents *exts)
NBDKIT_DLL_PUBLIC size_t
nbdkit_extents_count (const struct nbdkit_extents *exts)
{
- return exts->extents.size;
+ return exts->extents.len;
}
NBDKIT_DLL_PUBLIC struct nbdkit_extent
nbdkit_get_extent (const struct nbdkit_extents *exts, size_t i)
{
- assert (i < exts->extents.size);
+ assert (i < exts->extents.len);
return exts->extents.ptr[i];
}
@@ -160,7 +160,7 @@ nbdkit_add_extent (struct nbdkit_extents *exts,
return 0;
/* Ignore extents beyond the end of the range, or if list is full. */
- if (offset >= exts->end || exts->extents.size >= MAX_EXTENTS)
+ if (offset >= exts->end || exts->extents.len >= MAX_EXTENTS)
return 0;
/* Shorten extents that overlap the end of the range. */
@@ -169,7 +169,7 @@ nbdkit_add_extent (struct nbdkit_extents *exts,
length -= overlap;
}
- if (exts->extents.size == 0) {
+ if (exts->extents.len == 0) {
/* If there are no existing extents, and the new extent is
* entirely before start, ignore it.
*/
@@ -196,10 +196,10 @@ nbdkit_add_extent (struct nbdkit_extents *exts,
}
/* If we get here we are going to either add or extend. */
- if (exts->extents.size > 0 &&
- exts->extents.ptr[exts->extents.size-1].type == type) {
+ if (exts->extents.len > 0 &&
+ exts->extents.ptr[exts->extents.len-1].type == type) {
/* Coalesce with the last extent. */
- exts->extents.ptr[exts->extents.size-1].length += length;
+ exts->extents.ptr[exts->extents.len-1].length += length;
return 0;
}
else {
@@ -226,13 +226,13 @@ nbdkit_extents_aligned (struct context *next_c,
/* Perform an initial query, then scan for the first unaligned extent. */
if (next->extents (next_c, count, offset, flags, exts, err) == -1)
return -1;
- for (i = 0; i < exts->extents.size; ++i) {
+ for (i = 0; i < exts->extents.len; ++i) {
e = &exts->extents.ptr[i];
if (!IS_ALIGNED(e->length, align)) {
/* If the unalignment is past align, just truncate and return early */
if (e->offset + e->length > offset + align) {
e->length = ROUND_DOWN (e->length, align);
- exts->extents.size = i + !!e->length;
+ exts->extents.len = i + !!e->length;
exts->next = e->offset + e->length;
break;
}
@@ -249,7 +249,7 @@ nbdkit_extents_aligned (struct context *next_c,
*/
assert (i == 0);
while (e->length < align) {
- if (exts->extents.size > 1) {
+ if (exts->extents.len > 1) {
e->length += exts->extents.ptr[1].length;
e->type &= exts->extents.ptr[1].type;
extents_remove (&exts->extents, 1);
@@ -284,7 +284,7 @@ nbdkit_extents_aligned (struct context *next_c,
}
}
e->length = align;
- exts->extents.size = 1;
+ exts->extents.len = 1;
exts->next = e->offset + e->length;
break;
}
diff --git a/server/main.c b/server/main.c
index 5fd8308f..225258de 100644
--- a/server/main.c
+++ b/server/main.c
@@ -940,7 +940,7 @@ start_serving (void)
r = sockets_append (&socks, s);
assert (r == 0);
}
- debug ("using socket activation, nr_socks = %zu", socks.size);
+ debug ("using socket activation, nr_socks = %zu", socks.len);
change_user ();
write_pidfile ();
top->after_fork (top);
diff --git a/server/sockets.c b/server/sockets.c
index 95fce484..f13f8600 100644
--- a/server/sockets.c
+++ b/server/sockets.c
@@ -246,14 +246,14 @@ bind_tcpip_socket (sockets *socks)
freeaddrinfo (ai);
- if (socks->size == 0 && addr_in_use) {
+ if (socks->len == 0 && addr_in_use) {
fprintf (stderr, "%s: unable to bind to any sockets: %s\n",
program_name, strerror (EADDRINUSE));
exit (EXIT_FAILURE);
}
debug ("bound to IP address %s:%s (%zu socket(s))",
- ipaddr ? ipaddr : "<any>", port, socks->size);
+ ipaddr ? ipaddr : "<any>", port, socks->len);
}
void
@@ -443,7 +443,7 @@ accept_connection (int listen_sock)
static void
check_sockets_and_quit_fd (const sockets *socks)
{
- const size_t nr_socks = socks->size;
+ const size_t nr_socks = socks->len;
size_t i;
int r;
@@ -552,7 +552,7 @@ accept_incoming_connections (const sockets *socks)
}
pthread_mutex_unlock (&count_mutex);
- for (i = 0; i < socks->size; ++i)
+ for (i = 0; i < socks->len; ++i)
closesocket (socks->ptr[i]);
free (socks->ptr);
}
diff --git a/wrapper.c b/wrapper.c
index 3bab2074..87e5a033 100644
--- a/wrapper.c
+++ b/wrapper.c
@@ -130,9 +130,9 @@ print_command (void)
{
size_t i;
- if (cmd.size > 0)
+ if (cmd.len > 0)
shell_quote (cmd.ptr[0], stderr);
- for (i = 1; i < cmd.size && cmd.ptr[i] != NULL; ++i) {
+ for (i = 1; i < cmd.len && cmd.ptr[i] != NULL; ++i) {
fputc (' ', stderr);
shell_quote (cmd.ptr[i], stderr);
}
--
2.31.1