summaryrefslogtreecommitdiff
path: root/src/cmsio0.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmsio0.c')
-rw-r--r--src/cmsio0.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/cmsio0.c b/src/cmsio0.c
index 770e986..5fb542e 100644
--- a/src/cmsio0.c
+++ b/src/cmsio0.c
@@ -1460,7 +1460,10 @@ cmsBool CMSEXPORT cmsWriteTag(cmsHPROFILE hProfile, cmsTagSignature sig, const v
if (data == NULL) {
- cmsSignalError(cmsGetProfileContextID(hProfile), cmsERROR_NULL, "couldn't wite NULL to tag");
+ i = _cmsSearchTag(Icc, sig, FALSE);
+ if (i >= 0)
+ Icc ->TagNames[i] = (cmsTagSignature) 0;
+ // Unsupported by now, reserved for future ampliations (delete)
return FALSE;
}
@@ -1656,6 +1659,12 @@ cmsInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature sig
// Serialize
TypeHandler ->ContextID = Icc ->ContextID;
TypeHandler ->ICCVersion = Icc ->Version;
+
+ if (!_cmsWriteTypeBase(MemIO, TypeHandler ->Signature)) {
+ cmsCloseIOhandler(MemIO);
+ return 0;
+ }
+
if (!TypeHandler ->WritePtr(TypeHandler, MemIO, Object, TagDescriptor ->ElemCount)) {
cmsCloseIOhandler(MemIO);
return 0;