diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2025-08-12 14:20:08 +0200 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2025-08-12 14:20:32 +0200 |
commit | c44028b6076a021c0f23e761add8067b3cd22567 (patch) | |
tree | 54b428526605b64183c0640e30e70f60b77ccd5a /src | |
parent | 5dd98385e03b9cc7c912b1b50f7c406df117a9af (diff) |
piece-table: `piece-table-to-string` add size arg
Diffstat (limited to 'src')
-rw-r--r-- | src/piece-table.c | 6 | ||||
-rw-r--r-- | src/piece-table.h | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/src/piece-table.c b/src/piece-table.c index b29f3be..6c9e850 100644 --- a/src/piece-table.c +++ b/src/piece-table.c @@ -416,10 +416,12 @@ piece_table_index (piece_table *pt, size_t pos) } void -piece_table_to_string (piece_table *pt, char *buf) +piece_table_to_string (piece_table *pt, char *buf, size_t size) { size_t i; - for (i = 0; i < pt->length; i++) + if (pt->length < size) + size = pt->length; + for (i = 0; i < size; i++) { buf[i] = piece_table_index (pt, i); } diff --git a/src/piece-table.h b/src/piece-table.h index e90d2fa..ee39958 100644 --- a/src/piece-table.h +++ b/src/piece-table.h @@ -29,7 +29,7 @@ char piece_table_index (piece_table *pt, size_t pos); void piece_table_insert (piece_table *pt, size_t pos, char *in, size_t len); void piece_table_delete (piece_table *pt, size_t pos, size_t len); -void piece_table_to_string (piece_table *pt, char *buf); +void piece_table_to_string (piece_table *pt, char *buf, size_t size); size_t piece_table_length (piece_table *pt); #endif |