diff options
| author | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-05 21:40:09 -0400 |
|---|---|---|
| committer | Jacob McDonnell <jacob@jacobmcdonnell.com> | 2026-04-05 21:40:09 -0400 |
| commit | 972845e2ecba5a46e33ad25934399d50bd63bdca (patch) | |
| tree | 8c3345ce83dd920b1fde82cb5526dbddf09d94b9 | |
| parent | 68eb1285777f3ee373b1e0e95771f21325659349 (diff) | |
Added a function to write tags by themselves as a shorthand since
writing tags only is useful.
| -rwxr-xr-x | example/main | bin | 0 -> 50808 bytes | |||
| -rw-r--r-- | example/main.c | 4 | ||||
| -rw-r--r-- | example/main.o | bin | 0 -> 2960 bytes | |||
| -rw-r--r-- | example/test.mat | bin | 320 -> 320 bytes | |||
| -rw-r--r-- | include/matfile.h | 1 | ||||
| -rw-r--r-- | src/libMatfile.a | bin | 0 -> 2600 bytes | |||
| -rwxr-xr-x | src/libMatfile.so.1.1 | bin | 0 -> 33824 bytes | |||
| -rw-r--r-- | src/matfile.c | 14 | ||||
| -rw-r--r-- | src/matfile.o | bin | 0 -> 2336 bytes |
9 files changed, 16 insertions, 3 deletions
diff --git a/example/main b/example/main Binary files differnew file mode 100755 index 0000000..6bab08a --- /dev/null +++ b/example/main diff --git a/example/main.c b/example/main.c index ef7e0dd..15ac62e 100644 --- a/example/main.c +++ b/example/main.c @@ -70,7 +70,7 @@ void write_int_array(FILE *fp) { array.type = miMATRIX; array.size = 80; - fwrite((void *)&array, 1, sizeof(array), fp); + write_tag(fp, array); write_data(fp, flags_data); write_data(fp, dim_data); write_small_data(fp, name); @@ -113,7 +113,7 @@ void write_double_array(FILE *fp) { array.type = miMATRIX; array.size = 96; - fwrite((void *)&array, 1, sizeof(array), fp); + write_tag(fp, array); write_data(fp, flags_data); write_data(fp, dim_data); write_data(fp, name); diff --git a/example/main.o b/example/main.o Binary files differnew file mode 100644 index 0000000..e564b93 --- /dev/null +++ b/example/main.o diff --git a/example/test.mat b/example/test.mat Binary files differindex 45738ab..a733ddb 100644 --- a/example/test.mat +++ b/example/test.mat diff --git a/include/matfile.h b/include/matfile.h index b92cd3a..6f062b1 100644 --- a/include/matfile.h +++ b/include/matfile.h @@ -91,6 +91,7 @@ typedef struct { } mArrayFlags_t; bool write_header(FILE *file); +bool write_tag(FILE *file, mTag_t tag); bool write_data(FILE *file, mData_t data); bool write_small_data(FILE *file, mSmallData_t data); diff --git a/src/libMatfile.a b/src/libMatfile.a Binary files differnew file mode 100644 index 0000000..89a3b80 --- /dev/null +++ b/src/libMatfile.a diff --git a/src/libMatfile.so.1.1 b/src/libMatfile.so.1.1 Binary files differnew file mode 100755 index 0000000..a09e26d --- /dev/null +++ b/src/libMatfile.so.1.1 diff --git a/src/matfile.c b/src/matfile.c index c6da630..85af901 100644 --- a/src/matfile.c +++ b/src/matfile.c @@ -32,8 +32,16 @@ bool write_header(FILE *file) { return (status == sizeof(header)); } +bool write_tag(FILE *file, mTag_t tag) { + if (file == NULL) { + return false; + } + + return (fwrite((const void *)&tag, 1, sizeof(tag), file) == sizeof(tag)); +} + bool write_data(FILE *file, const mData_t data) { - if (data.data == NULL) { + if (data.data == NULL || file == NULL) { return false; } @@ -51,6 +59,10 @@ bool write_data(FILE *file, const mData_t data) { } bool write_small_data(FILE *file, const mSmallData_t data) { + if (file == NULL) { + return false; + } + const size_t w = fwrite((const void *)&data, 1, sizeof(data), file); return (w == sizeof(data)); diff --git a/src/matfile.o b/src/matfile.o Binary files differnew file mode 100644 index 0000000..e437d4d --- /dev/null +++ b/src/matfile.o |
