diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2021-11-05 05:05:57 +0300 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2021-11-05 18:16:16 +0300 |
commit | 0c6fb31b432c784180eb08d576b8abd33dd6bb7a (patch) | |
tree | 51518265f3215041d4428931beb6490cb72453ca | |
parent | dd11de62c7c58576fc54735a52edb091e9b4c50f (diff) |
Add mtar_end_record()
Rationale is similar to providing mtar_finalize(), although
it is functionally useless, users may want to see the error
code for this operation separately.
-rw-r--r-- | src/microtar.c | 8 | ||||
-rw-r--r-- | src/microtar.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/microtar.c b/src/microtar.c index e2d25c5..9e28256 100644 --- a/src/microtar.c +++ b/src/microtar.c @@ -575,6 +575,14 @@ int mtar_write_data(mtar_t* tar, const void* ptr, unsigned size) return (int)size; } +int mtar_end_record(mtar_t* tar) +{ + if(tar->access != MTAR_WRITE) + return MTAR_EAPI; + + return ensure_eof(tar); +} + int mtar_finalize(mtar_t* tar) { if(tar->access != MTAR_WRITE) diff --git a/src/microtar.h b/src/microtar.h index c72040e..5e32958 100644 --- a/src/microtar.h +++ b/src/microtar.h @@ -121,7 +121,7 @@ int mtar_write_header(mtar_t* tar, const mtar_header_t* h); int mtar_write_file_header(mtar_t* tar, const char* name, unsigned size); int mtar_write_dir_header(mtar_t* tar, const char* name); int mtar_write_data(mtar_t* tar, const void* ptr, unsigned size); - +int mtar_end_record(mtar_t* tar); int mtar_finalize(mtar_t* tar); #ifdef __cplusplus |