xref: /trunk/main/icc/SampleICC-1.3.2.patch (revision 9ea1301d5052b2c582fc6548e27ee7fbeb92293c)
1*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/configure  Mon Aug 20 22:10:59 2007
2*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/configure    Fri Jan 25 14:23:09 2008
3*9ea1301dSPedro Giffuni***************
4*9ea1301dSPedro Giffuni*** 19991,19997 ****
54d823f68SPedro Giffuni
64d823f68SPedro Giffuni
74d823f68SPedro Giffuni
8*9ea1301dSPedro Giffuni!                                                                                                                                                                                                                                                                     ac_config_files="$ac_config_files Makefile IccProfLib/Makefile Tools/Makefile Tools/CmdLine/Makefile Tools/CmdLine/IccApplyNamedCmm/Makefile Tools/CmdLine/IccApplyProfiles/Makefile Tools/CmdLine/IccDumpProfile/Makefile Tools/CmdLine/IccProfLibTest/Makefile Tools/CmdLine/IccStripUnknownTags/Makefile Tools/CmdLine/IccV4ToMPE/Makefile Contrib/Makefile Contrib/CmdLine/Makefile Contrib/CmdLine/create_CLUT_profile/Makefile Contrib/CmdLine/create_CLUT_profile_from_probe/Makefile Contrib/CmdLine/create_display_profile/Makefile Contrib/ICC_utils/Makefile Contrib/Mac_OS_X/Makefile Contrib/Mac_OS_X/create_probe/Makefile Contrib/Mac_OS_X/extract_probe_data/Makefile Contrib/examples/Makefile Contrib/examples/RSR/Makefile Contrib/tests/Makefile Contrib/tests/flatten_AToB_tag/Makefile Contrib/tests/generate_device_codes/Makefile Contrib/tests/reconstruct_measurements/Makefile Contrib/tests/round_trip_PCS_LAB/Makefile"
9cdf0e10cSrcweir  cat >confcache <<\_ACEOF
10cdf0e10cSrcweir  # This file is a shell script that caches the results of configure
11cdf0e10cSrcweir  # tests run on this system so they can be shared between configure
12*9ea1301dSPedro Giffuni--- 19991,19997 ----
13*9ea1301dSPedro Giffuni
14*9ea1301dSPedro Giffuni
15*9ea1301dSPedro Giffuni
16*9ea1301dSPedro Giffuni!                                                                                                                                                                                                                                                                     ac_config_files="$ac_config_files Makefile IccProfLib/Makefile Tools/Makefile Tools/CmdLine/Makefile Tools/CmdLine/IccDumpProfile/Makefile Tools/CmdLine/IccProfLibTest/Makefile Tools/CmdLine/IccStripUnknownTags/Makefile Tools/CmdLine/IccV4ToMPE/Makefile Contrib/Makefile Contrib/CmdLine/Makefile Contrib/ICC_utils/Makefile Contrib/CmdLine/create_sRGB_profile/Makefile"
17*9ea1301dSPedro Giffuni  cat >confcache <<\_ACEOF
18*9ea1301dSPedro Giffuni  # This file is a shell script that caches the results of configure
19*9ea1301dSPedro Giffuni  # tests run on this system so they can be shared between configure
20*9ea1301dSPedro Giffuni***************
21*9ea1301dSPedro Giffuni*** 20571,20578 ****
22cdf0e10cSrcweir    "IccProfLib/Makefile" ) CONFIG_FILES="$CONFIG_FILES IccProfLib/Makefile" ;;
23cdf0e10cSrcweir    "Tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/Makefile" ;;
24cdf0e10cSrcweir    "Tools/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/Makefile" ;;
25cdf0e10cSrcweir-   "Tools/CmdLine/IccApplyNamedCmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccApplyNamedCmm/Makefile" ;;
26cdf0e10cSrcweir-   "Tools/CmdLine/IccApplyProfiles/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccApplyProfiles/Makefile" ;;
27cdf0e10cSrcweir    "Tools/CmdLine/IccDumpProfile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccDumpProfile/Makefile" ;;
28cdf0e10cSrcweir    "Tools/CmdLine/IccProfLibTest/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccProfLibTest/Makefile" ;;
29cdf0e10cSrcweir    "Tools/CmdLine/IccStripUnknownTags/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccStripUnknownTags/Makefile" ;;
30*9ea1301dSPedro Giffuni--- 20571,20576 ----
31*9ea1301dSPedro Giffuni***************
32*9ea1301dSPedro Giffuni*** 20579,20598 ****
33cdf0e10cSrcweir    "Tools/CmdLine/IccV4ToMPE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccV4ToMPE/Makefile" ;;
34cdf0e10cSrcweir    "Contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Makefile" ;;
35cdf0e10cSrcweir    "Contrib/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/Makefile" ;;
36*9ea1301dSPedro Giffuni!   "Contrib/CmdLine/create_CLUT_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_CLUT_profile/Makefile" ;;
37*9ea1301dSPedro Giffuni!   "Contrib/CmdLine/create_CLUT_profile_from_probe/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_CLUT_profile_from_probe/Makefile" ;;
38*9ea1301dSPedro Giffuni!   "Contrib/CmdLine/create_display_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_display_profile/Makefile" ;;
39cdf0e10cSrcweir    "Contrib/ICC_utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/ICC_utils/Makefile" ;;
40cdf0e10cSrcweir-   "Contrib/Mac_OS_X/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/Makefile" ;;
41cdf0e10cSrcweir-   "Contrib/Mac_OS_X/create_probe/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/create_probe/Makefile" ;;
42cdf0e10cSrcweir-   "Contrib/Mac_OS_X/extract_probe_data/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/extract_probe_data/Makefile" ;;
43cdf0e10cSrcweir-   "Contrib/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/examples/Makefile" ;;
44cdf0e10cSrcweir-   "Contrib/examples/RSR/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/examples/RSR/Makefile" ;;
45cdf0e10cSrcweir-   "Contrib/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/Makefile" ;;
46cdf0e10cSrcweir-   "Contrib/tests/flatten_AToB_tag/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/flatten_AToB_tag/Makefile" ;;
47cdf0e10cSrcweir-   "Contrib/tests/generate_device_codes/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/generate_device_codes/Makefile" ;;
48cdf0e10cSrcweir-   "Contrib/tests/reconstruct_measurements/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/reconstruct_measurements/Makefile" ;;
49cdf0e10cSrcweir-   "Contrib/tests/round_trip_PCS_LAB/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/round_trip_PCS_LAB/Makefile" ;;
50cdf0e10cSrcweir    "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
51cdf0e10cSrcweir    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
52cdf0e10cSrcweir  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
53*9ea1301dSPedro Giffuni--- 20577,20584 ----
54*9ea1301dSPedro Giffuni    "Tools/CmdLine/IccV4ToMPE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccV4ToMPE/Makefile" ;;
55*9ea1301dSPedro Giffuni    "Contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Makefile" ;;
56*9ea1301dSPedro Giffuni    "Contrib/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/Makefile" ;;
57*9ea1301dSPedro Giffuni!   "Contrib/CmdLine/create_sRGB_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_sRGB_profile/Makefile" ;;
58*9ea1301dSPedro Giffuni    "Contrib/ICC_utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/ICC_utils/Makefile" ;;
59*9ea1301dSPedro Giffuni    "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
60*9ea1301dSPedro Giffuni    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
61*9ea1301dSPedro Giffuni  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
62*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/Makefile.in    Mon Aug 20 22:10:37 2007
63*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/Makefile.in  Fri Jan 25 14:23:09 2008
64*9ea1301dSPedro Giffuni***************
65*9ea1301dSPedro Giffuni*** 103,120 ****
66*9ea1301dSPedro Giffuni
67*9ea1301dSPedro Giffuni  SUBDIRS = \
68*9ea1301dSPedro Giffuni    ICC_utils \
69*9ea1301dSPedro Giffuni!   CmdLine \
70*9ea1301dSPedro Giffuni!   examples \
71*9ea1301dSPedro Giffuni!   Mac_OS_X \
72*9ea1301dSPedro Giffuni!   tests
73*9ea1301dSPedro Giffuni
74*9ea1301dSPedro Giffuni
75*9ea1301dSPedro Giffuni  DIST_SUBDIRS = \
76*9ea1301dSPedro Giffuni    ICC_utils \
77*9ea1301dSPedro Giffuni!   CmdLine \
78*9ea1301dSPedro Giffuni!   examples \
79*9ea1301dSPedro Giffuni!   Mac_OS_X \
80*9ea1301dSPedro Giffuni!   tests
81*9ea1301dSPedro Giffuni
82*9ea1301dSPedro Giffuni  subdir = Contrib
83*9ea1301dSPedro Giffuni  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
84*9ea1301dSPedro Giffuni--- 103,114 ----
85*9ea1301dSPedro Giffuni
86*9ea1301dSPedro Giffuni  SUBDIRS = \
87*9ea1301dSPedro Giffuni    ICC_utils \
88*9ea1301dSPedro Giffuni!   CmdLine
89*9ea1301dSPedro Giffuni
90*9ea1301dSPedro Giffuni
91*9ea1301dSPedro Giffuni  DIST_SUBDIRS = \
92*9ea1301dSPedro Giffuni    ICC_utils \
93*9ea1301dSPedro Giffuni!   CmdLine
94*9ea1301dSPedro Giffuni
95*9ea1301dSPedro Giffuni  subdir = Contrib
96*9ea1301dSPedro Giffuni  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
97*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/CmdLine/Makefile.in    Mon Aug 20 22:10:34 2007
98*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/CmdLine/Makefile.in  Fri Jan 25 14:23:09 2008
99*9ea1301dSPedro Giffuni***************
100*9ea1301dSPedro Giffuni*** 102,116 ****
101*9ea1301dSPedro Giffuni  install_sh = @install_sh@
102*9ea1301dSPedro Giffuni
103*9ea1301dSPedro Giffuni  SUBDIRS = \
104*9ea1301dSPedro Giffuni!   create_CLUT_profile \
105*9ea1301dSPedro Giffuni!   create_CLUT_profile_from_probe \
106*9ea1301dSPedro Giffuni!   create_display_profile
107*9ea1301dSPedro Giffuni
108*9ea1301dSPedro Giffuni
109*9ea1301dSPedro Giffuni  DIST_SUBDIRS = \
110*9ea1301dSPedro Giffuni!   create_CLUT_profile \
111*9ea1301dSPedro Giffuni!   create_CLUT_profile_from_probe \
112*9ea1301dSPedro Giffuni!   create_display_profile
113*9ea1301dSPedro Giffuni
114*9ea1301dSPedro Giffuni  subdir = Contrib/CmdLine
115*9ea1301dSPedro Giffuni  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
116*9ea1301dSPedro Giffuni--- 102,112 ----
117*9ea1301dSPedro Giffuni  install_sh = @install_sh@
118*9ea1301dSPedro Giffuni
119*9ea1301dSPedro Giffuni  SUBDIRS = \
120*9ea1301dSPedro Giffuni!   create_sRGB_profile
121*9ea1301dSPedro Giffuni
122*9ea1301dSPedro Giffuni
123*9ea1301dSPedro Giffuni  DIST_SUBDIRS = \
124*9ea1301dSPedro Giffuni!   create_sRGB_profile
125*9ea1301dSPedro Giffuni
126*9ea1301dSPedro Giffuni  subdir = Contrib/CmdLine
127*9ea1301dSPedro Giffuni  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
128*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Makefile.in  Mon Aug 20 22:10:35 2007
129*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Makefile.in    Fri Jan 25 14:23:09 2008
130*9ea1301dSPedro Giffuni***************
131*9ea1301dSPedro Giffuni*** 133,139 ****
132*9ea1301dSPedro Giffuni  CONFIG_CLEAN_FILES =
133*9ea1301dSPedro Giffuni  LTLIBRARIES = $(lib_LTLIBRARIES)
134*9ea1301dSPedro Giffuni
135*9ea1301dSPedro Giffuni! libICC_utils_la_LIBADD =
136*9ea1301dSPedro Giffuni  am_libICC_utils_la_OBJECTS = Stubs.lo CAT.lo CLUT.lo CLUT_stuffer.lo \
137*9ea1301dSPedro Giffuni    ICC_tool_exception.lo Vetters.lo
138*9ea1301dSPedro Giffuni  libICC_utils_la_OBJECTS = $(am_libICC_utils_la_OBJECTS)
139*9ea1301dSPedro Giffuni--- 133,139 ----
140*9ea1301dSPedro Giffuni  CONFIG_CLEAN_FILES =
141*9ea1301dSPedro Giffuni  LTLIBRARIES = $(lib_LTLIBRARIES)
142*9ea1301dSPedro Giffuni
143*9ea1301dSPedro Giffuni! libICC_utils_la_LIBADD = $(LDADD)
144*9ea1301dSPedro Giffuni  am_libICC_utils_la_OBJECTS = Stubs.lo CAT.lo CLUT.lo CLUT_stuffer.lo \
145*9ea1301dSPedro Giffuni    ICC_tool_exception.lo Vetters.lo
146*9ea1301dSPedro Giffuni  libICC_utils_la_OBJECTS = $(am_libICC_utils_la_OBJECTS)
147*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Stubs.h  Mon Aug 20 22:04:53 2007
148*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Stubs.h    Fri Jan 25 14:23:09 2008
149*9ea1301dSPedro Giffuni***************
150*9ea1301dSPedro Giffuni*** 130,136 ****
151*9ea1301dSPedro Giffuni
152*9ea1301dSPedro Giffuni    // use one of these to force desired sort order in assoc. containers of DPX
153*9ea1301dSPedro Giffuni    bool
154*9ea1301dSPedro Giffuni!   DPX::operator<(const DPX& p) const
155*9ea1301dSPedro Giffuni    {
156*9ea1301dSPedro Giffuni      return (r_ != p.r_) ? (r_ < p.r_) : ((g_ != p.g_) ? (g_ < p.g_) : (b_ < p.b_));
157*9ea1301dSPedro Giffuni    }
158*9ea1301dSPedro Giffuni--- 130,136 ----
159*9ea1301dSPedro Giffuni
160*9ea1301dSPedro Giffuni    // use one of these to force desired sort order in assoc. containers of DPX
161*9ea1301dSPedro Giffuni    bool
162*9ea1301dSPedro Giffuni!   operator<(const DPX& p) const
163*9ea1301dSPedro Giffuni    {
164*9ea1301dSPedro Giffuni      return (r_ != p.r_) ? (r_ < p.r_) : ((g_ != p.g_) ? (g_ < p.g_) : (b_ < p.b_));
165*9ea1301dSPedro Giffuni    }
166*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.cpp  Mon Aug 20 22:04:54 2007
167*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.cpp    Fri Jan 25 14:57:06 2008
168*9ea1301dSPedro Giffuni***************
169*9ea1301dSPedro Giffuni*** 1,322 ****
170*9ea1301dSPedro Giffuni! /*
171*9ea1301dSPedro Giffuni!  File:       Vetters.cpp
172*9ea1301dSPedro Giffuni!
173*9ea1301dSPedro Giffuni!  Contains:   Utility functions to handle common argument-checking tasks, in a
174*9ea1301dSPedro Giffuni!              way that hides platform-specific details from higher-level code.
175*9ea1301dSPedro Giffuni!
176*9ea1301dSPedro Giffuni!  Version:    V1
177*9ea1301dSPedro Giffuni!
178*9ea1301dSPedro Giffuni!  Copyright:  © see below
179*9ea1301dSPedro Giffuni!  */
180*9ea1301dSPedro Giffuni!
181*9ea1301dSPedro Giffuni! /*
182*9ea1301dSPedro Giffuni!  * The ICC Software License, Version 0.1
183*9ea1301dSPedro Giffuni!  *
184*9ea1301dSPedro Giffuni!  *
185*9ea1301dSPedro Giffuni!  * Copyright (c) 2003-2006 The International Color Consortium. All rights
186*9ea1301dSPedro Giffuni!  * reserved.
187*9ea1301dSPedro Giffuni!  *
188*9ea1301dSPedro Giffuni!  * Redistribution and use in source and binary forms, with or without
189*9ea1301dSPedro Giffuni!  * modification, are permitted provided that the following conditions
190*9ea1301dSPedro Giffuni!  * are met:
191*9ea1301dSPedro Giffuni!  *
192*9ea1301dSPedro Giffuni!  * 1. Redistributions of source code must retain the above copyright
193*9ea1301dSPedro Giffuni!  *    notice, this list of conditions and the following disclaimer.
194*9ea1301dSPedro Giffuni!  *
195*9ea1301dSPedro Giffuni!  * 2. Redistributions in binary form must reproduce the above copyright
196*9ea1301dSPedro Giffuni!  *    notice, this list of conditions and the following disclaimer in
197*9ea1301dSPedro Giffuni!  *    the documentation and/or other materials provided with the
198*9ea1301dSPedro Giffuni!  *    distribution.
199*9ea1301dSPedro Giffuni!  *
200*9ea1301dSPedro Giffuni!  * 3. The end-user documentation included with the redistribution,
201*9ea1301dSPedro Giffuni!  *    if any, must include the following acknowledgment:
202*9ea1301dSPedro Giffuni!  *       "This product includes software developed by the
203*9ea1301dSPedro Giffuni!  *        The International Color Consortium (www.color.org)"
204*9ea1301dSPedro Giffuni!  *    Alternately, this acknowledgment may appear in the software itself,
205*9ea1301dSPedro Giffuni!  *    if and wherever such third-party acknowledgments normally appear.
206*9ea1301dSPedro Giffuni!  *
207*9ea1301dSPedro Giffuni!  * 4. The names "ICC" and "The International Color Consortium" must
208*9ea1301dSPedro Giffuni!  *    not be used to imply that the ICC organization endorses or
209*9ea1301dSPedro Giffuni!  *    promotes products derived from this software without prior
210*9ea1301dSPedro Giffuni!  *    written permission. For written permission, please see
211*9ea1301dSPedro Giffuni!  *    <http://www.color.org/>.
212*9ea1301dSPedro Giffuni!  *
213*9ea1301dSPedro Giffuni!  *
214*9ea1301dSPedro Giffuni!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
215*9ea1301dSPedro Giffuni!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
216*9ea1301dSPedro Giffuni!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
217*9ea1301dSPedro Giffuni!  * DISCLAIMED.  IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
218*9ea1301dSPedro Giffuni!  * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
219*9ea1301dSPedro Giffuni!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
220*9ea1301dSPedro Giffuni!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
221*9ea1301dSPedro Giffuni!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
222*9ea1301dSPedro Giffuni!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
223*9ea1301dSPedro Giffuni!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
224*9ea1301dSPedro Giffuni!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
225*9ea1301dSPedro Giffuni!  * SUCH DAMAGE.
226*9ea1301dSPedro Giffuni!  * ====================================================================
227*9ea1301dSPedro Giffuni!  *
228*9ea1301dSPedro Giffuni!  * This software consists of voluntary contributions made by many
229*9ea1301dSPedro Giffuni!  * individuals on behalf of the The International Color Consortium.
230*9ea1301dSPedro Giffuni!  *
231*9ea1301dSPedro Giffuni!  *
232*9ea1301dSPedro Giffuni!  * Membership in the ICC is encouraged when this software is used for
233*9ea1301dSPedro Giffuni!  * commercial purposes.
234*9ea1301dSPedro Giffuni!  *
235*9ea1301dSPedro Giffuni!  *
236*9ea1301dSPedro Giffuni!  * For more information on The International Color Consortium, please
237*9ea1301dSPedro Giffuni!  * see <http://www.color.org/>.
238*9ea1301dSPedro Giffuni!  *
239*9ea1301dSPedro Giffuni!  *
240*9ea1301dSPedro Giffuni!  */
241*9ea1301dSPedro Giffuni!
242*9ea1301dSPedro Giffuni! //////////////////////////////////////////////////////////////////////
243*9ea1301dSPedro Giffuni! // HISTORY:
244*9ea1301dSPedro Giffuni! //
245*9ea1301dSPedro Giffuni! // -Initial implementation by Joseph Goldstone sumer 2007
246*9ea1301dSPedro Giffuni! //
247*9ea1301dSPedro Giffuni! //////////////////////////////////////////////////////////////////////
248*9ea1301dSPedro Giffuni!
249*9ea1301dSPedro Giffuni! #include "Vetters.h"
250*9ea1301dSPedro Giffuni!
251*9ea1301dSPedro Giffuni! #include <sstream>
252*9ea1301dSPedro Giffuni! using namespace std;
253*9ea1301dSPedro Giffuni!
254*9ea1301dSPedro Giffuni! #ifndef WIN32
255*9ea1301dSPedro Giffuni! #include <sys/errno.h>
256*9ea1301dSPedro Giffuni! #else
257*9ea1301dSPedro Giffuni! #include <string.h>
258*9ea1301dSPedro Giffuni! int strerror_r(int errnum, char *str, int strsize)
259*9ea1301dSPedro Giffuni! {
260*9ea1301dSPedro Giffuni!   const char *errstr = strerror(errnum);
261*9ea1301dSPedro Giffuni!
262*9ea1301dSPedro Giffuni!   if (errstr) {
263*9ea1301dSPedro Giffuni!     strncpy(str, errstr, strsize);
264*9ea1301dSPedro Giffuni!     return 0;
265*9ea1301dSPedro Giffuni!   }
266*9ea1301dSPedro Giffuni!
267*9ea1301dSPedro Giffuni!   return -1;
268*9ea1301dSPedro Giffuni! }
269*9ea1301dSPedro Giffuni! #define stat _stat
270*9ea1301dSPedro Giffuni! #endif
271*9ea1301dSPedro Giffuni!
272*9ea1301dSPedro Giffuni! #include "ICC_tool_exception.h"
273*9ea1301dSPedro Giffuni!
274*9ea1301dSPedro Giffuni! const char*
275*9ea1301dSPedro Giffuni! path_tail(const char* const s)
276*9ea1301dSPedro Giffuni! {
277*9ea1301dSPedro Giffuni!   const char* tail = strdup(s);
278*9ea1301dSPedro Giffuni!   const char* last_slash = strrchr(tail, '/');
279*9ea1301dSPedro Giffuni!   if (last_slash != NULL)
280*9ea1301dSPedro Giffuni!     tail = last_slash + 1;
281*9ea1301dSPedro Giffuni!   return tail;
282*9ea1301dSPedro Giffuni! }
283*9ea1301dSPedro Giffuni!
284*9ea1301dSPedro Giffuni! void
285*9ea1301dSPedro Giffuni! vet_as_int(const char* const s, const string& name,
286*9ea1301dSPedro Giffuni!            const string& description)
287*9ea1301dSPedro Giffuni! {
288*9ea1301dSPedro Giffuni!   istringstream ss(s);
289*9ea1301dSPedro Giffuni!   int i;
290*9ea1301dSPedro Giffuni!   ss >> i;
291*9ea1301dSPedro Giffuni!   if (ss.fail())
292*9ea1301dSPedro Giffuni!   {
293*9ea1301dSPedro Giffuni!     ostringstream oss;
294*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
295*9ea1301dSPedro Giffuni!       << " an integer.  It should be an integer representing "
296*9ea1301dSPedro Giffuni!       << description << ".";
297*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
298*9ea1301dSPedro Giffuni!   }
299*9ea1301dSPedro Giffuni! }
300*9ea1301dSPedro Giffuni!
301*9ea1301dSPedro Giffuni! void
302*9ea1301dSPedro Giffuni! vet_as_float(const char* const s, const string& name,
303*9ea1301dSPedro Giffuni!              const string& description)
304*9ea1301dSPedro Giffuni! {
305*9ea1301dSPedro Giffuni!   istringstream ss(s);
306*9ea1301dSPedro Giffuni!   float i;
307*9ea1301dSPedro Giffuni!   ss >> i;
308*9ea1301dSPedro Giffuni!   if (ss.fail())
309*9ea1301dSPedro Giffuni!   {
310*9ea1301dSPedro Giffuni!     ostringstream oss;
311*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
312*9ea1301dSPedro Giffuni!       << " a floating-point number.  It should be a floating-point number"
313*9ea1301dSPedro Giffuni!       << " representing " << description << ".";
314*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
315*9ea1301dSPedro Giffuni!   }
316*9ea1301dSPedro Giffuni! }
317*9ea1301dSPedro Giffuni!
318*9ea1301dSPedro Giffuni! #define STRERROR_BUF_SIZE 256
319*9ea1301dSPedro Giffuni! off_t
320*9ea1301dSPedro Giffuni! get_size(const char* const s)
321*9ea1301dSPedro Giffuni! {
322*9ea1301dSPedro Giffuni!   struct stat sb;
323*9ea1301dSPedro Giffuni!   int stat_returned = stat(s, &sb);
324*9ea1301dSPedro Giffuni!   if (stat_returned < 0)
325*9ea1301dSPedro Giffuni!   {
326*9ea1301dSPedro Giffuni!     int stat_errno = errno;
327*9ea1301dSPedro Giffuni!     char strerror_buf[STRERROR_BUF_SIZE];
328*9ea1301dSPedro Giffuni!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
329*9ea1301dSPedro Giffuni!     ostringstream oss;
330*9ea1301dSPedro Giffuni!     oss << "Could not access information for file `" << s << "': "
331*9ea1301dSPedro Giffuni!       << strerror_buf;
332*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
333*9ea1301dSPedro Giffuni!   }
334*9ea1301dSPedro Giffuni!   return sb.st_size;
335*9ea1301dSPedro Giffuni! }
336*9ea1301dSPedro Giffuni!
337*9ea1301dSPedro Giffuni! bool
338*9ea1301dSPedro Giffuni! check_mode(const char* const s, mode_t mode)
339*9ea1301dSPedro Giffuni! {
340*9ea1301dSPedro Giffuni!   struct stat sb;
341*9ea1301dSPedro Giffuni!   int stat_returned = stat(s, &sb);
342*9ea1301dSPedro Giffuni!   if (stat_returned < 0)
343*9ea1301dSPedro Giffuni!   {
344*9ea1301dSPedro Giffuni!     int stat_errno = errno;
345*9ea1301dSPedro Giffuni!     char strerror_buf[STRERROR_BUF_SIZE];
346*9ea1301dSPedro Giffuni!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
347*9ea1301dSPedro Giffuni!     ostringstream oss;
348*9ea1301dSPedro Giffuni!     oss << "Could not access information for file `" << s << "': "
349*9ea1301dSPedro Giffuni!       << strerror_buf;
350*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
351*9ea1301dSPedro Giffuni!   }
352*9ea1301dSPedro Giffuni!   return (sb.st_mode & mode) != 0;
353*9ea1301dSPedro Giffuni! }
354*9ea1301dSPedro Giffuni!
355*9ea1301dSPedro Giffuni! bool
356*9ea1301dSPedro Giffuni! is_existent_file_pathname(const char* const s)
357*9ea1301dSPedro Giffuni! {
358*9ea1301dSPedro Giffuni!   struct stat sb;
359*9ea1301dSPedro Giffuni!   return stat(s, &sb) == 0;
360*9ea1301dSPedro Giffuni! }
361*9ea1301dSPedro Giffuni!
362*9ea1301dSPedro Giffuni! bool
363*9ea1301dSPedro Giffuni! is_plain_file_pathname(const char* const s)
364*9ea1301dSPedro Giffuni! {
365*9ea1301dSPedro Giffuni!   return check_mode(s, S_IFREG);
366*9ea1301dSPedro Giffuni! }
367*9ea1301dSPedro Giffuni!
368*9ea1301dSPedro Giffuni! bool
369*9ea1301dSPedro Giffuni! is_directory(const char* const s)
370*9ea1301dSPedro Giffuni! {
371*9ea1301dSPedro Giffuni!   return check_mode(s, S_IFDIR);
372*9ea1301dSPedro Giffuni! }
373*9ea1301dSPedro Giffuni!
374*9ea1301dSPedro Giffuni! const char* const
375*9ea1301dSPedro Giffuni! containing_directory(const char* const s)
376*9ea1301dSPedro Giffuni! {
377*9ea1301dSPedro Giffuni!   if (strlen(s) == 0)
378*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("name of directory passed to containing_directory"
379*9ea1301dSPedro Giffuni!                              " function was zero-length.");
380*9ea1301dSPedro Giffuni!   char* tmp = strdup(s);
381*9ea1301dSPedro Giffuni!   // lop off any trailing seperator
382*9ea1301dSPedro Giffuni!   if (tmp[strlen(tmp) - 1] == '/')
383*9ea1301dSPedro Giffuni!     tmp[strlen(tmp) - 1] = 0;
384*9ea1301dSPedro Giffuni!   if (strlen(tmp) == 0)
385*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("root directory (which has no containing"
386*9ea1301dSPedro Giffuni!                              " directory) passed to containing_directory"
387*9ea1301dSPedro Giffuni!                              " function");
388*9ea1301dSPedro Giffuni!   char* idx = strrchr(tmp, '/');
389*9ea1301dSPedro Giffuni!   if (idx != NULL)
390*9ea1301dSPedro Giffuni!   {
391*9ea1301dSPedro Giffuni!     *idx = 0;
392*9ea1301dSPedro Giffuni!     return tmp;
393*9ea1301dSPedro Giffuni!   }
394*9ea1301dSPedro Giffuni!   char* current_directory = getenv("PWD");
395*9ea1301dSPedro Giffuni!   if (current_directory == NULL)
396*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("pathname passed to containing_directory has no"
397*9ea1301dSPedro Giffuni!                              " embedded seperator, and there is no value for"
398*9ea1301dSPedro Giffuni!                              " PWD defined in the environment");
399*9ea1301dSPedro Giffuni!   return strdup(current_directory);
400*9ea1301dSPedro Giffuni! }
401*9ea1301dSPedro Giffuni!
402*9ea1301dSPedro Giffuni! bool
403*9ea1301dSPedro Giffuni! is_readable_pathname(const char* const s)
404*9ea1301dSPedro Giffuni! {
405*9ea1301dSPedro Giffuni!   return check_mode(s, S_IRUSR)
406*9ea1301dSPedro Giffuni!   || check_mode(s, S_IRGRP)
407*9ea1301dSPedro Giffuni!   || check_mode(s, S_IROTH);
408*9ea1301dSPedro Giffuni! }
409*9ea1301dSPedro Giffuni!
410*9ea1301dSPedro Giffuni! bool
411*9ea1301dSPedro Giffuni! is_writable_pathname(const char* const s)
412*9ea1301dSPedro Giffuni! {
413*9ea1301dSPedro Giffuni!   return check_mode(s, S_IWUSR)
414*9ea1301dSPedro Giffuni!   || check_mode(s, S_IWGRP)
415*9ea1301dSPedro Giffuni!   || check_mode(s, S_IWOTH);
416*9ea1301dSPedro Giffuni! }
417*9ea1301dSPedro Giffuni!
418*9ea1301dSPedro Giffuni! bool
419*9ea1301dSPedro Giffuni! is_pathname_of_empty_file(const char* const s)
420*9ea1301dSPedro Giffuni! {
421*9ea1301dSPedro Giffuni!   return get_size(s) > 0;
422*9ea1301dSPedro Giffuni! }
423*9ea1301dSPedro Giffuni!
424*9ea1301dSPedro Giffuni! void
425*9ea1301dSPedro Giffuni! vet_input_file_pathname(const char* const s, const string& name,
426*9ea1301dSPedro Giffuni!                         const string& description)
427*9ea1301dSPedro Giffuni! {
428*9ea1301dSPedro Giffuni!   if (! is_plain_file_pathname(s))
429*9ea1301dSPedro Giffuni!   {
430*9ea1301dSPedro Giffuni!     ostringstream oss;
431*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
432*9ea1301dSPedro Giffuni!       << " of a plain file (i.e. it is the pathname of a directory, or of a"
433*9ea1301dSPedro Giffuni!       << " symbolic link, or of some other sort of special file.)  It should be"
434*9ea1301dSPedro Giffuni!       << " " << description << ".";
435*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
436*9ea1301dSPedro Giffuni!   }
437*9ea1301dSPedro Giffuni!   if (! is_readable_pathname(s))
438*9ea1301dSPedro Giffuni!   {
439*9ea1301dSPedro Giffuni!     ostringstream oss;
440*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
441*9ea1301dSPedro Giffuni!       << " of a readable file (i.e. you do not have permission to read that"
442*9ea1301dSPedro Giffuni!       << " file, or you do not have permission to read some directory"
443*9ea1301dSPedro Giffuni!       << " containing that file.";
444*9ea1301dSPedro Giffuni!       throw ICC_tool_exception(oss.str());
445*9ea1301dSPedro Giffuni!   }
446*9ea1301dSPedro Giffuni!   if (! is_pathname_of_empty_file(s))
447*9ea1301dSPedro Giffuni!   {
448*9ea1301dSPedro Giffuni!     ostringstream oss;
449*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
450*9ea1301dSPedro Giffuni!       << " of an existing readable file, but that file is of zero length."
451*9ea1301dSPedro Giffuni!       << " The argument should be " << description << ".";
452*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
453*9ea1301dSPedro Giffuni!   }
454*9ea1301dSPedro Giffuni! }
455*9ea1301dSPedro Giffuni!
456*9ea1301dSPedro Giffuni! void
457*9ea1301dSPedro Giffuni! vet_output_file_pathname(const char* const s, const string& name,
458*9ea1301dSPedro Giffuni!                          const string& description,
459*9ea1301dSPedro Giffuni!                          bool silent_overwrite_OK)
460*9ea1301dSPedro Giffuni! {
461*9ea1301dSPedro Giffuni!   const char* const container = containing_directory(s);
462*9ea1301dSPedro Giffuni!   if (! is_writable_pathname(container))
463*9ea1301dSPedro Giffuni!   {
464*9ea1301dSPedro Giffuni!     ostringstream oss;
465*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', has a directory"
466*9ea1301dSPedro Giffuni!       << " component which is not writable."
467*9ea1301dSPedro Giffuni!       << " The argument should be " << description << ".";
468*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
469*9ea1301dSPedro Giffuni!   }
470*9ea1301dSPedro Giffuni!   if (is_existent_file_pathname(s))
471*9ea1301dSPedro Giffuni!   {
472*9ea1301dSPedro Giffuni!     if (is_plain_file_pathname(s))
473*9ea1301dSPedro Giffuni!       if (is_writable_pathname(s))
474*9ea1301dSPedro Giffuni!       {
475*9ea1301dSPedro Giffuni!         if (! silent_overwrite_OK)
476*9ea1301dSPedro Giffuni!         {
477*9ea1301dSPedro Giffuni!           ostringstream oss;
478*9ea1301dSPedro Giffuni!           oss << "The " << name << " argument given, `" << s << "' is of an existing"
479*9ea1301dSPedro Giffuni!             << " file."
480*9ea1301dSPedro Giffuni!             << " The argument should be " << description << ".";
481*9ea1301dSPedro Giffuni!           throw ICC_tool_exception(oss.str());
482*9ea1301dSPedro Giffuni!         }
483*9ea1301dSPedro Giffuni!       } else {
484*9ea1301dSPedro Giffuni!         ostringstream oss;
485*9ea1301dSPedro Giffuni!         oss << "The " << name << " argument given, `" << s << "' is of an existing"
486*9ea1301dSPedro Giffuni!           << " file which is not writable."
487*9ea1301dSPedro Giffuni!           << " The argument should be " << description << ".";
488*9ea1301dSPedro Giffuni!         throw ICC_tool_exception(oss.str());
489*9ea1301dSPedro Giffuni!       }
490*9ea1301dSPedro Giffuni!   }
491*9ea1301dSPedro Giffuni! }
492*9ea1301dSPedro Giffuni--- 1,329 ----
493*9ea1301dSPedro Giffuni! /*
494*9ea1301dSPedro Giffuni!  File:       Vetters.cpp
495*9ea1301dSPedro Giffuni!
496*9ea1301dSPedro Giffuni!  Contains:   Utility functions to handle common argument-checking tasks, in a
497*9ea1301dSPedro Giffuni!              way that hides platform-specific details from higher-level code.
498*9ea1301dSPedro Giffuni!
499*9ea1301dSPedro Giffuni!  Version:    V1
500*9ea1301dSPedro Giffuni!
501*9ea1301dSPedro Giffuni!  Copyright:  © see below
502*9ea1301dSPedro Giffuni!  */
503*9ea1301dSPedro Giffuni!
504*9ea1301dSPedro Giffuni! /*
505*9ea1301dSPedro Giffuni!  * The ICC Software License, Version 0.1
506*9ea1301dSPedro Giffuni!  *
507*9ea1301dSPedro Giffuni!  *
508*9ea1301dSPedro Giffuni!  * Copyright (c) 2003-2006 The International Color Consortium. All rights
509*9ea1301dSPedro Giffuni!  * reserved.
510*9ea1301dSPedro Giffuni!  *
511*9ea1301dSPedro Giffuni!  * Redistribution and use in source and binary forms, with or without
512*9ea1301dSPedro Giffuni!  * modification, are permitted provided that the following conditions
513*9ea1301dSPedro Giffuni!  * are met:
514*9ea1301dSPedro Giffuni!  *
515*9ea1301dSPedro Giffuni!  * 1. Redistributions of source code must retain the above copyright
516*9ea1301dSPedro Giffuni!  *    notice, this list of conditions and the following disclaimer.
517*9ea1301dSPedro Giffuni!  *
518*9ea1301dSPedro Giffuni!  * 2. Redistributions in binary form must reproduce the above copyright
519*9ea1301dSPedro Giffuni!  *    notice, this list of conditions and the following disclaimer in
520*9ea1301dSPedro Giffuni!  *    the documentation and/or other materials provided with the
521*9ea1301dSPedro Giffuni!  *    distribution.
522*9ea1301dSPedro Giffuni!  *
523*9ea1301dSPedro Giffuni!  * 3. The end-user documentation included with the redistribution,
524*9ea1301dSPedro Giffuni!  *    if any, must include the following acknowledgment:
525*9ea1301dSPedro Giffuni!  *       "This product includes software developed by the
526*9ea1301dSPedro Giffuni!  *        The International Color Consortium (www.color.org)"
527*9ea1301dSPedro Giffuni!  *    Alternately, this acknowledgment may appear in the software itself,
528*9ea1301dSPedro Giffuni!  *    if and wherever such third-party acknowledgments normally appear.
529*9ea1301dSPedro Giffuni!  *
530*9ea1301dSPedro Giffuni!  * 4. The names "ICC" and "The International Color Consortium" must
531*9ea1301dSPedro Giffuni!  *    not be used to imply that the ICC organization endorses or
532*9ea1301dSPedro Giffuni!  *    promotes products derived from this software without prior
533*9ea1301dSPedro Giffuni!  *    written permission. For written permission, please see
534*9ea1301dSPedro Giffuni!  *    <http://www.color.org/>.
535*9ea1301dSPedro Giffuni!  *
536*9ea1301dSPedro Giffuni!  *
537*9ea1301dSPedro Giffuni!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
538*9ea1301dSPedro Giffuni!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
539*9ea1301dSPedro Giffuni!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
540*9ea1301dSPedro Giffuni!  * DISCLAIMED.  IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
541*9ea1301dSPedro Giffuni!  * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
542*9ea1301dSPedro Giffuni!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
543*9ea1301dSPedro Giffuni!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
544*9ea1301dSPedro Giffuni!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
545*9ea1301dSPedro Giffuni!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
546*9ea1301dSPedro Giffuni!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
547*9ea1301dSPedro Giffuni!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
548*9ea1301dSPedro Giffuni!  * SUCH DAMAGE.
549*9ea1301dSPedro Giffuni!  * ====================================================================
550*9ea1301dSPedro Giffuni!  *
551*9ea1301dSPedro Giffuni!  * This software consists of voluntary contributions made by many
552*9ea1301dSPedro Giffuni!  * individuals on behalf of the The International Color Consortium.
553*9ea1301dSPedro Giffuni!  *
554*9ea1301dSPedro Giffuni!  *
555*9ea1301dSPedro Giffuni!  * Membership in the ICC is encouraged when this software is used for
556*9ea1301dSPedro Giffuni!  * commercial purposes.
557*9ea1301dSPedro Giffuni!  *
558*9ea1301dSPedro Giffuni!  *
559*9ea1301dSPedro Giffuni!  * For more information on The International Color Consortium, please
560*9ea1301dSPedro Giffuni!  * see <http://www.color.org/>.
561*9ea1301dSPedro Giffuni!  *
562*9ea1301dSPedro Giffuni!  *
563*9ea1301dSPedro Giffuni!  */
564*9ea1301dSPedro Giffuni!
565*9ea1301dSPedro Giffuni! //////////////////////////////////////////////////////////////////////
566*9ea1301dSPedro Giffuni! // HISTORY:
567*9ea1301dSPedro Giffuni! //
568*9ea1301dSPedro Giffuni! // -Initial implementation by Joseph Goldstone sumer 2007
569*9ea1301dSPedro Giffuni! //
570*9ea1301dSPedro Giffuni! //////////////////////////////////////////////////////////////////////
571*9ea1301dSPedro Giffuni!
572*9ea1301dSPedro Giffuni! #include "Vetters.h"
573*9ea1301dSPedro Giffuni!
574*9ea1301dSPedro Giffuni! #include <sstream>
575*9ea1301dSPedro Giffuni! using namespace std;
576*9ea1301dSPedro Giffuni!
577*9ea1301dSPedro Giffuni! #ifndef WIN32
578*9ea1301dSPedro Giffuni! #ifdef sun
579*9ea1301dSPedro Giffuni! #include <errno.h>
580*9ea1301dSPedro Giffuni! #else
581*9ea1301dSPedro Giffuni! #include <sys/errno.h>
582*9ea1301dSPedro Giffuni! #endif
583*9ea1301dSPedro Giffuni! #else
584*9ea1301dSPedro Giffuni! #include <string.h>
585*9ea1301dSPedro Giffuni! #define stat _stat
586*9ea1301dSPedro Giffuni! #endif
587*9ea1301dSPedro Giffuni!
588*9ea1301dSPedro Giffuni! #if defined WIN32 || defined sun
589*9ea1301dSPedro Giffuni! int strerror_r(int errnum, char *str, int strsize)
590*9ea1301dSPedro Giffuni! {
591*9ea1301dSPedro Giffuni!   const char *errstr = strerror(errnum);
592*9ea1301dSPedro Giffuni!
593*9ea1301dSPedro Giffuni!   if (errstr) {
594*9ea1301dSPedro Giffuni!     strncpy(str, errstr, strsize);
595*9ea1301dSPedro Giffuni!     return 0;
596*9ea1301dSPedro Giffuni!   }
597*9ea1301dSPedro Giffuni!
598*9ea1301dSPedro Giffuni!   return -1;
599*9ea1301dSPedro Giffuni! }
600*9ea1301dSPedro Giffuni! #endif
601*9ea1301dSPedro Giffuni!
602*9ea1301dSPedro Giffuni! #include "ICC_tool_exception.h"
603*9ea1301dSPedro Giffuni!
604*9ea1301dSPedro Giffuni! const char*
605*9ea1301dSPedro Giffuni! path_tail(const char* const s)
606*9ea1301dSPedro Giffuni! {
607*9ea1301dSPedro Giffuni!   const char* tail = strdup(s);
608*9ea1301dSPedro Giffuni!   const char* last_slash = strrchr(tail, '/');
609*9ea1301dSPedro Giffuni!   if (last_slash != NULL)
610*9ea1301dSPedro Giffuni!     tail = last_slash + 1;
611*9ea1301dSPedro Giffuni!   return tail;
612*9ea1301dSPedro Giffuni! }
613*9ea1301dSPedro Giffuni!
614*9ea1301dSPedro Giffuni! void
615*9ea1301dSPedro Giffuni! vet_as_int(const char* const s, const string& name,
616*9ea1301dSPedro Giffuni!            const string& description)
617*9ea1301dSPedro Giffuni! {
618*9ea1301dSPedro Giffuni!   istringstream ss(s);
619*9ea1301dSPedro Giffuni!   int i;
620*9ea1301dSPedro Giffuni!   ss >> i;
621*9ea1301dSPedro Giffuni!   if (ss.fail())
622*9ea1301dSPedro Giffuni!   {
623*9ea1301dSPedro Giffuni!     ostringstream oss;
624*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
625*9ea1301dSPedro Giffuni!       << " an integer.  It should be an integer representing "
626*9ea1301dSPedro Giffuni!       << description << ".";
627*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
628*9ea1301dSPedro Giffuni!   }
629*9ea1301dSPedro Giffuni! }
630*9ea1301dSPedro Giffuni!
631*9ea1301dSPedro Giffuni! void
632*9ea1301dSPedro Giffuni! vet_as_float(const char* const s, const string& name,
633*9ea1301dSPedro Giffuni!              const string& description)
634*9ea1301dSPedro Giffuni! {
635*9ea1301dSPedro Giffuni!   istringstream ss(s);
636*9ea1301dSPedro Giffuni!   float i;
637*9ea1301dSPedro Giffuni!   ss >> i;
638*9ea1301dSPedro Giffuni!   if (ss.fail())
639*9ea1301dSPedro Giffuni!   {
640*9ea1301dSPedro Giffuni!     ostringstream oss;
641*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
642*9ea1301dSPedro Giffuni!       << " a floating-point number.  It should be a floating-point number"
643*9ea1301dSPedro Giffuni!       << " representing " << description << ".";
644*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
645*9ea1301dSPedro Giffuni!   }
646*9ea1301dSPedro Giffuni! }
647*9ea1301dSPedro Giffuni!
648*9ea1301dSPedro Giffuni! #define STRERROR_BUF_SIZE 256
649*9ea1301dSPedro Giffuni! off_t
650*9ea1301dSPedro Giffuni! get_size(const char* const s)
651*9ea1301dSPedro Giffuni! {
652*9ea1301dSPedro Giffuni!   struct stat sb;
653*9ea1301dSPedro Giffuni!   int stat_returned = stat(s, &sb);
654*9ea1301dSPedro Giffuni!   if (stat_returned < 0)
655*9ea1301dSPedro Giffuni!   {
656*9ea1301dSPedro Giffuni!     int stat_errno = errno;
657*9ea1301dSPedro Giffuni!     char strerror_buf[STRERROR_BUF_SIZE];
658*9ea1301dSPedro Giffuni!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
659*9ea1301dSPedro Giffuni!     ostringstream oss;
660*9ea1301dSPedro Giffuni!     oss << "Could not access information for file `" << s << "': "
661*9ea1301dSPedro Giffuni!       << strerror_buf;
662*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
663*9ea1301dSPedro Giffuni!   }
664*9ea1301dSPedro Giffuni!   return sb.st_size;
665*9ea1301dSPedro Giffuni! }
666*9ea1301dSPedro Giffuni!
667*9ea1301dSPedro Giffuni! bool
668*9ea1301dSPedro Giffuni! check_mode(const char* const s, mode_t mode)
669*9ea1301dSPedro Giffuni! {
670*9ea1301dSPedro Giffuni!   struct stat sb;
671*9ea1301dSPedro Giffuni!   int stat_returned = stat(s, &sb);
672*9ea1301dSPedro Giffuni!   if (stat_returned < 0)
673*9ea1301dSPedro Giffuni!   {
674*9ea1301dSPedro Giffuni!     int stat_errno = errno;
675*9ea1301dSPedro Giffuni!     char strerror_buf[STRERROR_BUF_SIZE];
676*9ea1301dSPedro Giffuni!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
677*9ea1301dSPedro Giffuni!     ostringstream oss;
678*9ea1301dSPedro Giffuni!     oss << "Could not access information for file `" << s << "': "
679*9ea1301dSPedro Giffuni!       << strerror_buf;
680*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
681*9ea1301dSPedro Giffuni!   }
682*9ea1301dSPedro Giffuni!   return (sb.st_mode & mode) != 0;
683*9ea1301dSPedro Giffuni! }
684*9ea1301dSPedro Giffuni!
685*9ea1301dSPedro Giffuni! bool
686*9ea1301dSPedro Giffuni! is_existent_file_pathname(const char* const s)
687*9ea1301dSPedro Giffuni! {
688*9ea1301dSPedro Giffuni!   struct stat sb;
689*9ea1301dSPedro Giffuni!   return stat(s, &sb) == 0;
690*9ea1301dSPedro Giffuni! }
691*9ea1301dSPedro Giffuni!
692*9ea1301dSPedro Giffuni! bool
693*9ea1301dSPedro Giffuni! is_plain_file_pathname(const char* const s)
694*9ea1301dSPedro Giffuni! {
695*9ea1301dSPedro Giffuni!   return check_mode(s, S_IFREG);
696*9ea1301dSPedro Giffuni! }
697*9ea1301dSPedro Giffuni!
698*9ea1301dSPedro Giffuni! bool
699*9ea1301dSPedro Giffuni! is_directory(const char* const s)
700*9ea1301dSPedro Giffuni! {
701*9ea1301dSPedro Giffuni!   return check_mode(s, S_IFDIR);
702*9ea1301dSPedro Giffuni! }
703*9ea1301dSPedro Giffuni!
704*9ea1301dSPedro Giffuni! const char* const
705*9ea1301dSPedro Giffuni! containing_directory(const char* const s)
706*9ea1301dSPedro Giffuni! {
707*9ea1301dSPedro Giffuni!   if (strlen(s) == 0)
708*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("name of directory passed to containing_directory"
709*9ea1301dSPedro Giffuni!                              " function was zero-length.");
710*9ea1301dSPedro Giffuni!   char* tmp = strdup(s);
711*9ea1301dSPedro Giffuni!   // lop off any trailing seperator
712*9ea1301dSPedro Giffuni!   if (tmp[strlen(tmp) - 1] == '/')
713*9ea1301dSPedro Giffuni!     tmp[strlen(tmp) - 1] = 0;
714*9ea1301dSPedro Giffuni!   if (strlen(tmp) == 0)
715*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("root directory (which has no containing"
716*9ea1301dSPedro Giffuni!                              " directory) passed to containing_directory"
717*9ea1301dSPedro Giffuni!                              " function");
718*9ea1301dSPedro Giffuni!   char* idx = strrchr(tmp, '/');
719*9ea1301dSPedro Giffuni!   if (idx != NULL)
720*9ea1301dSPedro Giffuni!   {
721*9ea1301dSPedro Giffuni!     *idx = 0;
722*9ea1301dSPedro Giffuni!     return tmp;
723*9ea1301dSPedro Giffuni!   }
724*9ea1301dSPedro Giffuni!   char* current_directory = getenv("PWD");
725*9ea1301dSPedro Giffuni!   if (current_directory == NULL)
726*9ea1301dSPedro Giffuni!     throw ICC_tool_exception("pathname passed to containing_directory has no"
727*9ea1301dSPedro Giffuni!                              " embedded seperator, and there is no value for"
728*9ea1301dSPedro Giffuni!                              " PWD defined in the environment");
729*9ea1301dSPedro Giffuni!   return strdup(current_directory);
730*9ea1301dSPedro Giffuni! }
731*9ea1301dSPedro Giffuni!
732*9ea1301dSPedro Giffuni! bool
733*9ea1301dSPedro Giffuni! is_readable_pathname(const char* const s)
734*9ea1301dSPedro Giffuni! {
735*9ea1301dSPedro Giffuni!   return check_mode(s, S_IRUSR)
736*9ea1301dSPedro Giffuni!   || check_mode(s, S_IRGRP)
737*9ea1301dSPedro Giffuni!   || check_mode(s, S_IROTH);
738*9ea1301dSPedro Giffuni! }
739*9ea1301dSPedro Giffuni!
740*9ea1301dSPedro Giffuni! bool
741*9ea1301dSPedro Giffuni! is_writable_pathname(const char* const s)
742*9ea1301dSPedro Giffuni! {
743*9ea1301dSPedro Giffuni!   return check_mode(s, S_IWUSR)
744*9ea1301dSPedro Giffuni!   || check_mode(s, S_IWGRP)
745*9ea1301dSPedro Giffuni!   || check_mode(s, S_IWOTH);
746*9ea1301dSPedro Giffuni! }
747*9ea1301dSPedro Giffuni!
748*9ea1301dSPedro Giffuni! bool
749*9ea1301dSPedro Giffuni! is_pathname_of_empty_file(const char* const s)
750*9ea1301dSPedro Giffuni! {
751*9ea1301dSPedro Giffuni!   return get_size(s) > 0;
752*9ea1301dSPedro Giffuni! }
753*9ea1301dSPedro Giffuni!
754*9ea1301dSPedro Giffuni! void
755*9ea1301dSPedro Giffuni! vet_input_file_pathname(const char* const s, const string& name,
756*9ea1301dSPedro Giffuni!                         const string& description)
757*9ea1301dSPedro Giffuni! {
758*9ea1301dSPedro Giffuni!   if (! is_plain_file_pathname(s))
759*9ea1301dSPedro Giffuni!   {
760*9ea1301dSPedro Giffuni!     ostringstream oss;
761*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
762*9ea1301dSPedro Giffuni!       << " of a plain file (i.e. it is the pathname of a directory, or of a"
763*9ea1301dSPedro Giffuni!       << " symbolic link, or of some other sort of special file.)  It should be"
764*9ea1301dSPedro Giffuni!       << " " << description << ".";
765*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
766*9ea1301dSPedro Giffuni!   }
767*9ea1301dSPedro Giffuni!   if (! is_readable_pathname(s))
768*9ea1301dSPedro Giffuni!   {
769*9ea1301dSPedro Giffuni!     ostringstream oss;
770*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
771*9ea1301dSPedro Giffuni!       << " of a readable file (i.e. you do not have permission to read that"
772*9ea1301dSPedro Giffuni!       << " file, or you do not have permission to read some directory"
773*9ea1301dSPedro Giffuni!       << " containing that file.";
774*9ea1301dSPedro Giffuni!       throw ICC_tool_exception(oss.str());
775*9ea1301dSPedro Giffuni!   }
776*9ea1301dSPedro Giffuni!   if (! is_pathname_of_empty_file(s))
777*9ea1301dSPedro Giffuni!   {
778*9ea1301dSPedro Giffuni!     ostringstream oss;
779*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
780*9ea1301dSPedro Giffuni!       << " of an existing readable file, but that file is of zero length."
781*9ea1301dSPedro Giffuni!       << " The argument should be " << description << ".";
782*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
783*9ea1301dSPedro Giffuni!   }
784*9ea1301dSPedro Giffuni! }
785*9ea1301dSPedro Giffuni!
786*9ea1301dSPedro Giffuni! void
787*9ea1301dSPedro Giffuni! vet_output_file_pathname(const char* const s, const string& name,
788*9ea1301dSPedro Giffuni!                          const string& description,
789*9ea1301dSPedro Giffuni!                          bool silent_overwrite_OK)
790*9ea1301dSPedro Giffuni! {
791*9ea1301dSPedro Giffuni!   const char* const container = containing_directory(s);
792*9ea1301dSPedro Giffuni!   if (! is_writable_pathname(container))
793*9ea1301dSPedro Giffuni!   {
794*9ea1301dSPedro Giffuni!     ostringstream oss;
795*9ea1301dSPedro Giffuni!     oss << "The " << name << " argument given, `" << s << "', has a directory"
796*9ea1301dSPedro Giffuni!       << " component which is not writable."
797*9ea1301dSPedro Giffuni!       << " The argument should be " << description << ".";
798*9ea1301dSPedro Giffuni!     throw ICC_tool_exception(oss.str());
799*9ea1301dSPedro Giffuni!   }
800*9ea1301dSPedro Giffuni!   if (is_existent_file_pathname(s))
801*9ea1301dSPedro Giffuni!   {
802*9ea1301dSPedro Giffuni!     if (is_plain_file_pathname(s))
803*9ea1301dSPedro Giffuni!       if (is_writable_pathname(s))
804*9ea1301dSPedro Giffuni!       {
805*9ea1301dSPedro Giffuni!         if (! silent_overwrite_OK)
806*9ea1301dSPedro Giffuni!         {
807*9ea1301dSPedro Giffuni!           ostringstream oss;
808*9ea1301dSPedro Giffuni!           oss << "The " << name << " argument given, `" << s << "' is of an existing"
809*9ea1301dSPedro Giffuni!             << " file."
810*9ea1301dSPedro Giffuni!             << " The argument should be " << description << ".";
811*9ea1301dSPedro Giffuni!           throw ICC_tool_exception(oss.str());
812*9ea1301dSPedro Giffuni!         }
813*9ea1301dSPedro Giffuni!       } else {
814*9ea1301dSPedro Giffuni!         ostringstream oss;
815*9ea1301dSPedro Giffuni!         oss << "The " << name << " argument given, `" << s << "' is of an existing"
816*9ea1301dSPedro Giffuni!           << " file which is not writable."
817*9ea1301dSPedro Giffuni!           << " The argument should be " << description << ".";
818*9ea1301dSPedro Giffuni!         throw ICC_tool_exception(oss.str());
819*9ea1301dSPedro Giffuni!       }
820*9ea1301dSPedro Giffuni!   }
821*9ea1301dSPedro Giffuni! }
822*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccIO.cpp   Mon Aug 20 22:05:00 2007
823*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccIO.cpp Fri Jan 25 14:23:09 2008
824*9ea1301dSPedro Giffuni***************
825*9ea1301dSPedro Giffuni*** 78,84 ****
826*9ea1301dSPedro Giffuni  #include "IccIO.h"
827*9ea1301dSPedro Giffuni  #include "IccUtil.h"
828*9ea1301dSPedro Giffuni  #include <stdlib.h>
829*9ea1301dSPedro Giffuni! #include <memory.h>
830*9ea1301dSPedro Giffuni  #include <string.h>
831*9ea1301dSPedro Giffuni
832*9ea1301dSPedro Giffuni  #ifndef __max
833*9ea1301dSPedro Giffuni--- 78,84 ----
834*9ea1301dSPedro Giffuni  #include "IccIO.h"
835*9ea1301dSPedro Giffuni  #include "IccUtil.h"
836*9ea1301dSPedro Giffuni  #include <stdlib.h>
837*9ea1301dSPedro Giffuni! #include <memory>
838*9ea1301dSPedro Giffuni  #include <string.h>
839*9ea1301dSPedro Giffuni
840*9ea1301dSPedro Giffuni  #ifndef __max
841*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccIO.h Mon Aug 20 22:05:00 2007
842*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccIO.h   Fri Jan 25 14:23:09 2008
843*9ea1301dSPedro Giffuni***************
844*9ea1301dSPedro Giffuni*** 79,84 ****
845*9ea1301dSPedro Giffuni--- 79,85 ----
846*9ea1301dSPedro Giffuni  #define _ICCIO_H
847*9ea1301dSPedro Giffuni
848*9ea1301dSPedro Giffuni  #include "IccDefs.h"
849*9ea1301dSPedro Giffuni+ #include "memory"
850*9ea1301dSPedro Giffuni  #include "stdio.h"
851*9ea1301dSPedro Giffuni
852*9ea1301dSPedro Giffuni  #ifdef USESAMPLEICCNAMESPACE
853*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp   Mon Aug 20 22:05:00 2007
854*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp Fri Jan 25 14:23:09 2008
855*9ea1301dSPedro Giffuni***************
856*9ea1301dSPedro Giffuni*** 136,152 ****
857*9ea1301dSPedro Giffuni    icChar sigBuf[30];
858*9ea1301dSPedro Giffuni
859*9ea1301dSPedro Giffuni    if (GetBAcsSig())
860*9ea1301dSPedro Giffuni!     sDescription += "ELEM_bACS\r\n";
861*9ea1301dSPedro Giffuni    else
862*9ea1301dSPedro Giffuni!     sDescription += "ELEM_eACS\r\n";
863*9ea1301dSPedro Giffuni
864*9ea1301dSPedro Giffuni    icGetSig(sigBuf, m_signature);
865*9ea1301dSPedro Giffuni    sDescription += "  Signature = ";
866*9ea1301dSPedro Giffuni    sDescription += sigBuf;
867*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
868*9ea1301dSPedro Giffuni
869*9ea1301dSPedro Giffuni    if (m_pData) {
870*9ea1301dSPedro Giffuni!     sDescription += "\r\nData Follows:\r\n";
871*9ea1301dSPedro Giffuni
872*9ea1301dSPedro Giffuni      icMemDump(sDescription, m_pData, m_nDataSize);
873*9ea1301dSPedro Giffuni    }
874*9ea1301dSPedro Giffuni--- 136,152 ----
875*9ea1301dSPedro Giffuni    icChar sigBuf[30];
876*9ea1301dSPedro Giffuni
877*9ea1301dSPedro Giffuni    if (GetBAcsSig())
878*9ea1301dSPedro Giffuni!     sDescription += "ELEM_bACS\n";
879*9ea1301dSPedro Giffuni    else
880*9ea1301dSPedro Giffuni!     sDescription += "ELEM_eACS\n";
881*9ea1301dSPedro Giffuni
882*9ea1301dSPedro Giffuni    icGetSig(sigBuf, m_signature);
883*9ea1301dSPedro Giffuni    sDescription += "  Signature = ";
884*9ea1301dSPedro Giffuni    sDescription += sigBuf;
885*9ea1301dSPedro Giffuni!   sDescription += "\n";
886*9ea1301dSPedro Giffuni
887*9ea1301dSPedro Giffuni    if (m_pData) {
888*9ea1301dSPedro Giffuni!     sDescription += "\nData Follows:\n";
889*9ea1301dSPedro Giffuni
890*9ea1301dSPedro Giffuni      icMemDump(sDescription, m_pData, m_nDataSize);
891*9ea1301dSPedro Giffuni    }
892*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccMpeBasic.cpp Mon Aug 20 22:05:00 2007
893*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccMpeBasic.cpp   Fri Jan 25 14:23:09 2008
894*9ea1301dSPedro Giffuni***************
895*9ea1301dSPedro Giffuni*** 218,249 ****
896*9ea1301dSPedro Giffuni    sprintf(buf, "%.8f", m_endPoint);
897*9ea1301dSPedro Giffuni    sDescription += buf;
898*9ea1301dSPedro Giffuni    }
899*9ea1301dSPedro Giffuni!   sprintf(buf, "]\r\nFunctionType: %04Xh\r\n", m_nFunctionType);
900*9ea1301dSPedro Giffuni    sDescription += buf;
901*9ea1301dSPedro Giffuni
902*9ea1301dSPedro Giffuni    switch(m_nFunctionType) {
903*9ea1301dSPedro Giffuni    case 0x0000:
904*9ea1301dSPedro Giffuni      if (m_params[1]==0.0 && m_params[2]==0.0)
905*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = %.8f\r\n\r\n", m_params[3]);
906*9ea1301dSPedro Giffuni      else if (m_params[0]==1.0 && m_params[1]==1.0 && m_params[2]==0.0 && m_params[3]==0.0)
907*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = X\r\n\r\n");
908*9ea1301dSPedro Giffuni      else if (m_params[0]==1.0 && m_params[2]==0.0)
909*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = %.8f * X + %.8f\r\n\r\n",
910*9ea1301dSPedro Giffuni                m_params[1], m_params[3]);
911*9ea1301dSPedro Giffuni      else
912*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = (%.8f * X + %.8f)^%.4f + %.8f\r\n\r\n",
913*9ea1301dSPedro Giffuni                m_params[1], m_params[2], m_params[0], m_params[3]);
914*9ea1301dSPedro Giffuni      sDescription += buf;
915*9ea1301dSPedro Giffuni      return;
916*9ea1301dSPedro Giffuni
917*9ea1301dSPedro Giffuni    case 0x0001:
918*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = %.8f * log (%.8f * (X ^ %.8f)  + %.8f) + %.8f\r\n\r\n",
919*9ea1301dSPedro Giffuni              m_params[1], m_params[2], m_params[0], m_params[3], m_params[4]);
920*9ea1301dSPedro Giffuni      sDescription += buf;
921*9ea1301dSPedro Giffuni      return;
922*9ea1301dSPedro Giffuni
923*9ea1301dSPedro Giffuni    case 0x0002:
924*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = %.8f * (%.8f ^ (%.8f * X + %.8f)) + %.8f\r\n\r\n",
925*9ea1301dSPedro Giffuni              m_params[0], m_params[1], m_params[2], m_params[3], m_params[4]);
926*9ea1301dSPedro Giffuni      sDescription += buf;
927*9ea1301dSPedro Giffuni      return;
928*9ea1301dSPedro Giffuni--- 218,249 ----
929*9ea1301dSPedro Giffuni    sprintf(buf, "%.8f", m_endPoint);
930*9ea1301dSPedro Giffuni    sDescription += buf;
931*9ea1301dSPedro Giffuni    }
932*9ea1301dSPedro Giffuni!   sprintf(buf, "]\nFunctionType: %04Xh\n", m_nFunctionType);
933*9ea1301dSPedro Giffuni    sDescription += buf;
934*9ea1301dSPedro Giffuni
935*9ea1301dSPedro Giffuni    switch(m_nFunctionType) {
936*9ea1301dSPedro Giffuni    case 0x0000:
937*9ea1301dSPedro Giffuni      if (m_params[1]==0.0 && m_params[2]==0.0)
938*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = %.8f\n\n", m_params[3]);
939*9ea1301dSPedro Giffuni      else if (m_params[0]==1.0 && m_params[1]==1.0 && m_params[2]==0.0 && m_params[3]==0.0)
940*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = X\n\n");
941*9ea1301dSPedro Giffuni      else if (m_params[0]==1.0 && m_params[2]==0.0)
942*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = %.8f * X + %.8f\n\n",
943*9ea1301dSPedro Giffuni                m_params[1], m_params[3]);
944*9ea1301dSPedro Giffuni      else
945*9ea1301dSPedro Giffuni!       sprintf(buf, "Y = (%.8f * X + %.8f)^%.4f + %.8f\n\n",
946*9ea1301dSPedro Giffuni                m_params[1], m_params[2], m_params[0], m_params[3]);
947*9ea1301dSPedro Giffuni      sDescription += buf;
948*9ea1301dSPedro Giffuni      return;
949*9ea1301dSPedro Giffuni
950*9ea1301dSPedro Giffuni    case 0x0001:
951*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = %.8f * log (%.8f * (X ^ %.8f)  + %.8f) + %.8f\n\n",
952*9ea1301dSPedro Giffuni              m_params[1], m_params[2], m_params[0], m_params[3], m_params[4]);
953*9ea1301dSPedro Giffuni      sDescription += buf;
954*9ea1301dSPedro Giffuni      return;
955*9ea1301dSPedro Giffuni
956*9ea1301dSPedro Giffuni    case 0x0002:
957*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = %.8f * (%.8f ^ (%.8f * X + %.8f)) + %.8f\n\n",
958*9ea1301dSPedro Giffuni              m_params[0], m_params[1], m_params[2], m_params[3], m_params[4]);
959*9ea1301dSPedro Giffuni      sDescription += buf;
960*9ea1301dSPedro Giffuni      return;
961*9ea1301dSPedro Giffuni***************
962*9ea1301dSPedro Giffuni*** 250,260 ****
963*9ea1301dSPedro Giffuni
964*9ea1301dSPedro Giffuni    default:
965*9ea1301dSPedro Giffuni      int i;
966*9ea1301dSPedro Giffuni!     sprintf(buf, "Unknown Function with %d parameters:\r\n\r\n", m_nParameters);
967*9ea1301dSPedro Giffuni      sDescription += buf;
968*9ea1301dSPedro Giffuni
969*9ea1301dSPedro Giffuni      for (i=0; i<m_nParameters; i++) {
970*9ea1301dSPedro Giffuni!       sprintf(buf, "Param[%d] = %.8lf\r\n\r\n", i, m_params[i]);
971*9ea1301dSPedro Giffuni        sDescription += buf;
972*9ea1301dSPedro Giffuni      }
973*9ea1301dSPedro Giffuni    }
974*9ea1301dSPedro Giffuni--- 250,260 ----
975*9ea1301dSPedro Giffuni
976*9ea1301dSPedro Giffuni    default:
977*9ea1301dSPedro Giffuni      int i;
978*9ea1301dSPedro Giffuni!     sprintf(buf, "Unknown Function with %d parameters:\n\n", m_nParameters);
979*9ea1301dSPedro Giffuni      sDescription += buf;
980*9ea1301dSPedro Giffuni
981*9ea1301dSPedro Giffuni      for (i=0; i<m_nParameters; i++) {
982*9ea1301dSPedro Giffuni!       sprintf(buf, "Param[%d] = %.8lf\n\n", i, m_params[i]);
983*9ea1301dSPedro Giffuni        sDescription += buf;
984*9ea1301dSPedro Giffuni      }
985*9ea1301dSPedro Giffuni    }
986*9ea1301dSPedro Giffuni***************
987*9ea1301dSPedro Giffuni*** 496,502 ****
988*9ea1301dSPedro Giffuni    if (m_nReserved || m_nReserved2) {
989*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
990*9ea1301dSPedro Giffuni      sReport += sSigName;
991*9ea1301dSPedro Giffuni!     sReport += " formula curve has non zero reserved data.\r\n";
992*9ea1301dSPedro Giffuni      rv = icValidateWarning;
993*9ea1301dSPedro Giffuni    }
994*9ea1301dSPedro Giffuni
995*9ea1301dSPedro Giffuni--- 496,502 ----
996*9ea1301dSPedro Giffuni    if (m_nReserved || m_nReserved2) {
997*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
998*9ea1301dSPedro Giffuni      sReport += sSigName;
999*9ea1301dSPedro Giffuni!     sReport += " formula curve has non zero reserved data.\n";
1000*9ea1301dSPedro Giffuni      rv = icValidateWarning;
1001*9ea1301dSPedro Giffuni    }
1002*9ea1301dSPedro Giffuni
1003*9ea1301dSPedro Giffuni***************
1004*9ea1301dSPedro Giffuni*** 505,517 ****
1005*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<4) {
1006*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1007*9ea1301dSPedro Giffuni        sReport += sSigName;
1008*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
1009*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1010*9ea1301dSPedro Giffuni      }
1011*9ea1301dSPedro Giffuni      else if (m_nParameters > 4) {
1012*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1013*9ea1301dSPedro Giffuni        sReport += sSigName;
1014*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
1015*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1016*9ea1301dSPedro Giffuni      }
1017*9ea1301dSPedro Giffuni      break;
1018*9ea1301dSPedro Giffuni--- 505,517 ----
1019*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<4) {
1020*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1021*9ea1301dSPedro Giffuni        sReport += sSigName;
1022*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
1023*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1024*9ea1301dSPedro Giffuni      }
1025*9ea1301dSPedro Giffuni      else if (m_nParameters > 4) {
1026*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1027*9ea1301dSPedro Giffuni        sReport += sSigName;
1028*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
1029*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1030*9ea1301dSPedro Giffuni      }
1031*9ea1301dSPedro Giffuni      break;
1032*9ea1301dSPedro Giffuni***************
1033*9ea1301dSPedro Giffuni*** 520,532 ****
1034*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<5) {
1035*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1036*9ea1301dSPedro Giffuni        sReport += sSigName;
1037*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
1038*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1039*9ea1301dSPedro Giffuni      }
1040*9ea1301dSPedro Giffuni      else if (m_nParameters > 5) {
1041*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1042*9ea1301dSPedro Giffuni        sReport += sSigName;
1043*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
1044*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1045*9ea1301dSPedro Giffuni      }
1046*9ea1301dSPedro Giffuni      break;
1047*9ea1301dSPedro Giffuni--- 520,532 ----
1048*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<5) {
1049*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1050*9ea1301dSPedro Giffuni        sReport += sSigName;
1051*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
1052*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1053*9ea1301dSPedro Giffuni      }
1054*9ea1301dSPedro Giffuni      else if (m_nParameters > 5) {
1055*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1056*9ea1301dSPedro Giffuni        sReport += sSigName;
1057*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
1058*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1059*9ea1301dSPedro Giffuni      }
1060*9ea1301dSPedro Giffuni      break;
1061*9ea1301dSPedro Giffuni***************
1062*9ea1301dSPedro Giffuni*** 535,547 ****
1063*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<5) {
1064*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1065*9ea1301dSPedro Giffuni        sReport += sSigName;
1066*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
1067*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1068*9ea1301dSPedro Giffuni      }
1069*9ea1301dSPedro Giffuni      else if (m_nParameters > 5) {
1070*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1071*9ea1301dSPedro Giffuni        sReport += sSigName;
1072*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
1073*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1074*9ea1301dSPedro Giffuni      }
1075*9ea1301dSPedro Giffuni      break;
1076*9ea1301dSPedro Giffuni--- 535,547 ----
1077*9ea1301dSPedro Giffuni      if (!m_params || m_nParameters<5) {
1078*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1079*9ea1301dSPedro Giffuni        sReport += sSigName;
1080*9ea1301dSPedro Giffuni!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
1081*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1082*9ea1301dSPedro Giffuni      }
1083*9ea1301dSPedro Giffuni      else if (m_nParameters > 5) {
1084*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1085*9ea1301dSPedro Giffuni        sReport += sSigName;
1086*9ea1301dSPedro Giffuni!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
1087*9ea1301dSPedro Giffuni        rv = icValidateWarning;
1088*9ea1301dSPedro Giffuni      }
1089*9ea1301dSPedro Giffuni      break;
1090*9ea1301dSPedro Giffuni***************
1091*9ea1301dSPedro Giffuni*** 551,557 ****
1092*9ea1301dSPedro Giffuni        icChar buf[128];
1093*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1094*9ea1301dSPedro Giffuni        sReport += sSigName;
1095*9ea1301dSPedro Giffuni!       sprintf(buf, " formula curve uses unknown formulaCurveSegment function type %d\r\n", m_nFunctionType);
1096*9ea1301dSPedro Giffuni        sReport += buf;
1097*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1098*9ea1301dSPedro Giffuni      }
1099*9ea1301dSPedro Giffuni--- 551,557 ----
1100*9ea1301dSPedro Giffuni        icChar buf[128];
1101*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1102*9ea1301dSPedro Giffuni        sReport += sSigName;
1103*9ea1301dSPedro Giffuni!       sprintf(buf, " formula curve uses unknown formulaCurveSegment function type %d\n", m_nFunctionType);
1104*9ea1301dSPedro Giffuni        sReport += buf;
1105*9ea1301dSPedro Giffuni        rv = icValidateCriticalError;
1106*9ea1301dSPedro Giffuni      }
1107*9ea1301dSPedro Giffuni***************
1108*9ea1301dSPedro Giffuni*** 727,733 ****
1109*9ea1301dSPedro Giffuni      sDescription += buf;
1110*9ea1301dSPedro Giffuni      }
1111*9ea1301dSPedro Giffuni
1112*9ea1301dSPedro Giffuni!     sprintf(buf, "]\r\n");
1113*9ea1301dSPedro Giffuni      sDescription += buf;
1114*9ea1301dSPedro Giffuni    }
1115*9ea1301dSPedro Giffuni    else {
1116*9ea1301dSPedro Giffuni--- 727,733 ----
1117*9ea1301dSPedro Giffuni      sDescription += buf;
1118*9ea1301dSPedro Giffuni      }
1119*9ea1301dSPedro Giffuni
1120*9ea1301dSPedro Giffuni!     sprintf(buf, "]\n");
1121*9ea1301dSPedro Giffuni      sDescription += buf;
1122*9ea1301dSPedro Giffuni    }
1123*9ea1301dSPedro Giffuni    else {
1124*9ea1301dSPedro Giffuni***************
1125*9ea1301dSPedro Giffuni*** 744,752 ****
1126*9ea1301dSPedro Giffuni      sprintf(buf, "%.8f", m_endPoint);
1127*9ea1301dSPedro Giffuni      sDescription += buf;
1128*9ea1301dSPedro Giffuni      }
1129*9ea1301dSPedro Giffuni!     sprintf(buf, "]\r\n");
1130*9ea1301dSPedro Giffuni      sDescription += buf;
1131*9ea1301dSPedro Giffuni!     sDescription += "IN  OUT\r\n";
1132*9ea1301dSPedro Giffuni
1133*9ea1301dSPedro Giffuni      icUInt32Number i;
1134*9ea1301dSPedro Giffuni
1135*9ea1301dSPedro Giffuni--- 744,752 ----
1136*9ea1301dSPedro Giffuni      sprintf(buf, "%.8f", m_endPoint);
1137*9ea1301dSPedro Giffuni      sDescription += buf;
1138*9ea1301dSPedro Giffuni      }
1139*9ea1301dSPedro Giffuni!     sprintf(buf, "]\n");
1140*9ea1301dSPedro Giffuni      sDescription += buf;
1141*9ea1301dSPedro Giffuni!     sDescription += "IN  OUT\n";
1142*9ea1301dSPedro Giffuni
1143*9ea1301dSPedro Giffuni      icUInt32Number i;
1144*9ea1301dSPedro Giffuni
1145*9ea1301dSPedro Giffuni***************
1146*9ea1301dSPedro Giffuni*** 754,764 ****
1147*9ea1301dSPedro Giffuni      icFloatNumber last = (icFloatNumber)(m_nCount-1);
1148*9ea1301dSPedro Giffuni
1149*9ea1301dSPedro Giffuni      for (i=0; i<m_nCount; i++) {
1150*9ea1301dSPedro Giffuni!       sprintf(buf, "%.8f %.8f\r\n", m_startPoint + (icFloatNumber)i*range/last, m_pSamples[i]);
1151*9ea1301dSPedro Giffuni        sDescription += buf;
1152*9ea1301dSPedro Giffuni      }
1153*9ea1301dSPedro Giffuni    }
1154*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
1155*9ea1301dSPedro Giffuni  }
1156*9ea1301dSPedro Giffuni
1157*9ea1301dSPedro Giffuni  /**
1158*9ea1301dSPedro Giffuni--- 754,764 ----
1159*9ea1301dSPedro Giffuni      icFloatNumber last = (icFloatNumber)(m_nCount-1);
1160*9ea1301dSPedro Giffuni
1161*9ea1301dSPedro Giffuni      for (i=0; i<m_nCount; i++) {
1162*9ea1301dSPedro Giffuni!       sprintf(buf, "%.8f %.8f\n", m_startPoint + (icFloatNumber)i*range/last, m_pSamples[i]);
1163*9ea1301dSPedro Giffuni        sDescription += buf;
1164*9ea1301dSPedro Giffuni      }
1165*9ea1301dSPedro Giffuni    }
1166*9ea1301dSPedro Giffuni!   sDescription += "\n";
1167*9ea1301dSPedro Giffuni  }
1168*9ea1301dSPedro Giffuni
1169*9ea1301dSPedro Giffuni  /**
1170*9ea1301dSPedro Giffuni***************
1171*9ea1301dSPedro Giffuni*** 910,916 ****
1172*9ea1301dSPedro Giffuni    if (m_nReserved) {
1173*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1174*9ea1301dSPedro Giffuni      sReport += sSigName;
1175*9ea1301dSPedro Giffuni!     sReport += " sampled curve has non zero reserved data.\r\n";
1176*9ea1301dSPedro Giffuni      rv = icValidateWarning;
1177*9ea1301dSPedro Giffuni    }
1178*9ea1301dSPedro Giffuni
1179*9ea1301dSPedro Giffuni--- 910,916 ----
1180*9ea1301dSPedro Giffuni    if (m_nReserved) {
1181*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1182*9ea1301dSPedro Giffuni      sReport += sSigName;
1183*9ea1301dSPedro Giffuni!     sReport += " sampled curve has non zero reserved data.\n";
1184*9ea1301dSPedro Giffuni      rv = icValidateWarning;
1185*9ea1301dSPedro Giffuni    }
1186*9ea1301dSPedro Giffuni
1187*9ea1301dSPedro Giffuni***************
1188*9ea1301dSPedro Giffuni*** 917,929 ****
1189*9ea1301dSPedro Giffuni    if (m_nCount<2) {
1190*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1191*9ea1301dSPedro Giffuni      sReport += sSigName;
1192*9ea1301dSPedro Giffuni!     sReport += " sampled curve has too few sample points.\r\n";
1193*9ea1301dSPedro Giffuni      rv = icValidateCriticalError;
1194*9ea1301dSPedro Giffuni    }
1195*9ea1301dSPedro Giffuni    else if (m_endPoint-m_startPoint == 0.0) {
1196*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1197*9ea1301dSPedro Giffuni      sReport += sSigName;
1198*9ea1301dSPedro Giffuni!     sReport += " sampled curve has a range of zero.\r\n";
1199*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1200*9ea1301dSPedro Giffuni    }
1201*9ea1301dSPedro Giffuni
1202*9ea1301dSPedro Giffuni--- 917,929 ----
1203*9ea1301dSPedro Giffuni    if (m_nCount<2) {
1204*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1205*9ea1301dSPedro Giffuni      sReport += sSigName;
1206*9ea1301dSPedro Giffuni!     sReport += " sampled curve has too few sample points.\n";
1207*9ea1301dSPedro Giffuni      rv = icValidateCriticalError;
1208*9ea1301dSPedro Giffuni    }
1209*9ea1301dSPedro Giffuni    else if (m_endPoint-m_startPoint == 0.0) {
1210*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1211*9ea1301dSPedro Giffuni      sReport += sSigName;
1212*9ea1301dSPedro Giffuni!     sReport += " sampled curve has a range of zero.\n";
1213*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1214*9ea1301dSPedro Giffuni    }
1215*9ea1301dSPedro Giffuni
1216*9ea1301dSPedro Giffuni***************
1217*9ea1301dSPedro Giffuni*** 1054,1060 ****
1218*9ea1301dSPedro Giffuni  {
1219*9ea1301dSPedro Giffuni    CIccCurveSegmentList::iterator i;
1220*9ea1301dSPedro Giffuni
1221*9ea1301dSPedro Giffuni!   sDescription += "BEGIN_CURVE\r\n";
1222*9ea1301dSPedro Giffuni    for (i=m_list->begin(); i!=m_list->end(); i++) {
1223*9ea1301dSPedro Giffuni      (*i)->Describe(sDescription);
1224*9ea1301dSPedro Giffuni    }
1225*9ea1301dSPedro Giffuni--- 1054,1060 ----
1226*9ea1301dSPedro Giffuni  {
1227*9ea1301dSPedro Giffuni    CIccCurveSegmentList::iterator i;
1228*9ea1301dSPedro Giffuni
1229*9ea1301dSPedro Giffuni!   sDescription += "BEGIN_CURVE\n";
1230*9ea1301dSPedro Giffuni    for (i=m_list->begin(); i!=m_list->end(); i++) {
1231*9ea1301dSPedro Giffuni      (*i)->Describe(sDescription);
1232*9ea1301dSPedro Giffuni    }
1233*9ea1301dSPedro Giffuni***************
1234*9ea1301dSPedro Giffuni*** 1342,1348 ****
1235*9ea1301dSPedro Giffuni    if (m_nReserved1 || m_nReserved2) {
1236*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1237*9ea1301dSPedro Giffuni      sReport += sSigName;
1238*9ea1301dSPedro Giffuni!     sReport += " Segmented curve has non zero reserved data.\r\n";
1239*9ea1301dSPedro Giffuni      rv = icValidateWarning;
1240*9ea1301dSPedro Giffuni    }
1241*9ea1301dSPedro Giffuni
1242*9ea1301dSPedro Giffuni--- 1342,1348 ----
1243*9ea1301dSPedro Giffuni    if (m_nReserved1 || m_nReserved2) {
1244*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1245*9ea1301dSPedro Giffuni      sReport += sSigName;
1246*9ea1301dSPedro Giffuni!     sReport += " Segmented curve has non zero reserved data.\n";
1247*9ea1301dSPedro Giffuni      rv = icValidateWarning;
1248*9ea1301dSPedro Giffuni    }
1249*9ea1301dSPedro Giffuni
1250*9ea1301dSPedro Giffuni***************
1251*9ea1301dSPedro Giffuni*** 1349,1355 ****
1252*9ea1301dSPedro Giffuni    if (m_list->size()==0) {
1253*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1254*9ea1301dSPedro Giffuni      sReport += sSigName;
1255*9ea1301dSPedro Giffuni!     sReport += " Has Empty CurveSegment!\r\n";
1256*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1257*9ea1301dSPedro Giffuni    }
1258*9ea1301dSPedro Giffuni
1259*9ea1301dSPedro Giffuni--- 1349,1355 ----
1260*9ea1301dSPedro Giffuni    if (m_list->size()==0) {
1261*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1262*9ea1301dSPedro Giffuni      sReport += sSigName;
1263*9ea1301dSPedro Giffuni!     sReport += " Has Empty CurveSegment!\n";
1264*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1265*9ea1301dSPedro Giffuni    }
1266*9ea1301dSPedro Giffuni
1267*9ea1301dSPedro Giffuni***************
1268*9ea1301dSPedro Giffuni*** 1599,1609 ****
1269*9ea1301dSPedro Giffuni      icChar buf[81];
1270*9ea1301dSPedro Giffuni      int i;
1271*9ea1301dSPedro Giffuni
1272*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE_SET %d\r\n", m_nInputChannels);
1273*9ea1301dSPedro Giffuni      sDescription += buf;
1274*9ea1301dSPedro Giffuni
1275*9ea1301dSPedro Giffuni      for (i=0; i<m_nInputChannels; i++) {
1276*9ea1301dSPedro Giffuni!       sprintf(buf, "Curve %d of %d\r\n", i+1, m_nInputChannels);
1277*9ea1301dSPedro Giffuni        sDescription += buf;
1278*9ea1301dSPedro Giffuni        if (m_curve[i]) {
1279*9ea1301dSPedro Giffuni          m_curve[i]->Describe(sDescription);
1280*9ea1301dSPedro Giffuni--- 1599,1609 ----
1281*9ea1301dSPedro Giffuni      icChar buf[81];
1282*9ea1301dSPedro Giffuni      int i;
1283*9ea1301dSPedro Giffuni
1284*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE_SET %d\n", m_nInputChannels);
1285*9ea1301dSPedro Giffuni      sDescription += buf;
1286*9ea1301dSPedro Giffuni
1287*9ea1301dSPedro Giffuni      for (i=0; i<m_nInputChannels; i++) {
1288*9ea1301dSPedro Giffuni!       sprintf(buf, "Curve %d of %d\n", i+1, m_nInputChannels);
1289*9ea1301dSPedro Giffuni        sDescription += buf;
1290*9ea1301dSPedro Giffuni        if (m_curve[i]) {
1291*9ea1301dSPedro Giffuni          m_curve[i]->Describe(sDescription);
1292*9ea1301dSPedro Giffuni***************
1293*9ea1301dSPedro Giffuni*** 1877,1883 ****
1294*9ea1301dSPedro Giffuni      sReport += " - Element ";
1295*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1296*9ea1301dSPedro Giffuni      sReport += sSigName;
1297*9ea1301dSPedro Giffuni!     sReport += " Has Empty Curve Element(s)!\r\n";
1298*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1299*9ea1301dSPedro Giffuni    }
1300*9ea1301dSPedro Giffuni
1301*9ea1301dSPedro Giffuni--- 1877,1883 ----
1302*9ea1301dSPedro Giffuni      sReport += " - Element ";
1303*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1304*9ea1301dSPedro Giffuni      sReport += sSigName;
1305*9ea1301dSPedro Giffuni!     sReport += " Has Empty Curve Element(s)!\n";
1306*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1307*9ea1301dSPedro Giffuni    }
1308*9ea1301dSPedro Giffuni
1309*9ea1301dSPedro Giffuni***************
1310*9ea1301dSPedro Giffuni*** 2042,2048 ****
1311*9ea1301dSPedro Giffuni    int i, j;
1312*9ea1301dSPedro Giffuni    icFloatNumber *data = m_pMatrix;
1313*9ea1301dSPedro Giffuni
1314*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_ELEM_MATRIX %d %d\r\n", m_nInputChannels, m_nOutputChannels);
1315*9ea1301dSPedro Giffuni    sDescription += buf;
1316*9ea1301dSPedro Giffuni
1317*9ea1301dSPedro Giffuni    for (j=0; j<m_nOutputChannels; j++) {
1318*9ea1301dSPedro Giffuni--- 2042,2048 ----
1319*9ea1301dSPedro Giffuni    int i, j;
1320*9ea1301dSPedro Giffuni    icFloatNumber *data = m_pMatrix;
1321*9ea1301dSPedro Giffuni
1322*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_ELEM_MATRIX %d %d\n", m_nInputChannels, m_nOutputChannels);
1323*9ea1301dSPedro Giffuni    sDescription += buf;
1324*9ea1301dSPedro Giffuni
1325*9ea1301dSPedro Giffuni    for (j=0; j<m_nOutputChannels; j++) {
1326*9ea1301dSPedro Giffuni***************
1327*9ea1301dSPedro Giffuni*** 2052,2058 ****
1328*9ea1301dSPedro Giffuni        sprintf(buf, "%12.8lf", data[i]);
1329*9ea1301dSPedro Giffuni        sDescription += buf;
1330*9ea1301dSPedro Giffuni      }
1331*9ea1301dSPedro Giffuni!     sprintf(buf, "  +  %12.8lf\r\n", m_pConstants[j]);
1332*9ea1301dSPedro Giffuni      sDescription += buf;
1333*9ea1301dSPedro Giffuni      data += i;
1334*9ea1301dSPedro Giffuni    }
1335*9ea1301dSPedro Giffuni--- 2052,2058 ----
1336*9ea1301dSPedro Giffuni        sprintf(buf, "%12.8lf", data[i]);
1337*9ea1301dSPedro Giffuni        sDescription += buf;
1338*9ea1301dSPedro Giffuni      }
1339*9ea1301dSPedro Giffuni!     sprintf(buf, "  +  %12.8lf\n", m_pConstants[j]);
1340*9ea1301dSPedro Giffuni      sDescription += buf;
1341*9ea1301dSPedro Giffuni      data += i;
1342*9ea1301dSPedro Giffuni    }
1343*9ea1301dSPedro Giffuni***************
1344*9ea1301dSPedro Giffuni*** 2273,2279 ****
1345*9ea1301dSPedro Giffuni      sReport += " - Element ";
1346*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1347*9ea1301dSPedro Giffuni      sReport += sSigName;
1348*9ea1301dSPedro Giffuni!     sReport += " Has Empty Matrix data!\r\n";
1349*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1350*9ea1301dSPedro Giffuni    }
1351*9ea1301dSPedro Giffuni
1352*9ea1301dSPedro Giffuni--- 2273,2279 ----
1353*9ea1301dSPedro Giffuni      sReport += " - Element ";
1354*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1355*9ea1301dSPedro Giffuni      sReport += sSigName;
1356*9ea1301dSPedro Giffuni!     sReport += " Has Empty Matrix data!\n";
1357*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1358*9ea1301dSPedro Giffuni    }
1359*9ea1301dSPedro Giffuni
1360*9ea1301dSPedro Giffuni***************
1361*9ea1301dSPedro Giffuni*** 2620,2626 ****
1362*9ea1301dSPedro Giffuni      sReport += " - Element ";
1363*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1364*9ea1301dSPedro Giffuni      sReport += sSigName;
1365*9ea1301dSPedro Giffuni!     sReport += " Has No CLUT!\r\n";
1366*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1367*9ea1301dSPedro Giffuni    }
1368*9ea1301dSPedro Giffuni
1369*9ea1301dSPedro Giffuni--- 2620,2626 ----
1370*9ea1301dSPedro Giffuni      sReport += " - Element ";
1371*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
1372*9ea1301dSPedro Giffuni      sReport += sSigName;
1373*9ea1301dSPedro Giffuni!     sReport += " Has No CLUT!\n";
1374*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1375*9ea1301dSPedro Giffuni    }
1376*9ea1301dSPedro Giffuni
1377*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccProfLibConf.h    Mon Aug 20 22:05:00 2007
1378*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccProfLibConf.h  Fri Jan 25 14:23:09 2008
1379*9ea1301dSPedro Giffuni***************
1380*9ea1301dSPedro Giffuni*** 107,126 ****
1381*9ea1301dSPedro Giffuni
1382*9ea1301dSPedro Giffuni  #else // non-PC, perhaps Mac or Linux
1383*9ea1301dSPedro Giffuni
1384*9ea1301dSPedro Giffuni!   #define ICCUINT64 unsigned long long
1385*9ea1301dSPedro Giffuni!   #define ICCINT64  long long
1386*9ea1301dSPedro Giffuni!   #define ICUINT64TYPE unsigned long long
1387*9ea1301dSPedro Giffuni!   #define ICINT64TYPE long long
1388*9ea1301dSPedro Giffuni!
1389*9ea1301dSPedro Giffuni!   #if defined(__APPLE__)
1390*9ea1301dSPedro Giffuni!     #if  defined(__LITTLE_ENDIAN__)
1391*9ea1301dSPedro Giffuni!       #define ICC_BYTE_ORDER_LITTLE_ENDIAN
1392*9ea1301dSPedro Giffuni!     #else
1393*9ea1301dSPedro Giffuni!       #define ICC_BYTE_ORDER_BIG_ENDIAN
1394*9ea1301dSPedro Giffuni!     #endif
1395*9ea1301dSPedro Giffuni!   #else
1396*9ea1301dSPedro Giffuni!     #define ICC_BYTE_ORDER_LITTLE_ENDIAN
1397*9ea1301dSPedro Giffuni!   #endif
1398*9ea1301dSPedro Giffuni
1399*9ea1301dSPedro Giffuni    #define ICCPROFLIB_API
1400*9ea1301dSPedro Giffuni    #define ICCPROFLIB_EXTERN
1401*9ea1301dSPedro Giffuni--- 107,129 ----
1402*9ea1301dSPedro Giffuni
1403*9ea1301dSPedro Giffuni  #else // non-PC, perhaps Mac or Linux
1404*9ea1301dSPedro Giffuni
1405*9ea1301dSPedro Giffuni! #include <sal/types.h>
1406*9ea1301dSPedro Giffuni! #include <osl/endian.h>
1407*9ea1301dSPedro Giffuni!
1408*9ea1301dSPedro Giffuni!   #define ICCUINT64 sal_uInt64
1409*9ea1301dSPedro Giffuni!   #define ICCINT64 sal_Int64
1410*9ea1301dSPedro Giffuni!   #define ICUINT64TYPE sal_uInt64
1411*9ea1301dSPedro Giffuni!   #define ICINT64TYPE sal_Int64
1412*9ea1301dSPedro Giffuni!   #define ICINT32TYPE sal_Int32
1413*9ea1301dSPedro Giffuni!   #define ICUINT32TYPE sal_uInt32
1414*9ea1301dSPedro Giffuni!
1415*9ea1301dSPedro Giffuni! #if defined(_LITTLE_ENDIAN)
1416*9ea1301dSPedro Giffuni! #    define ICC_BYTE_ORDER_LITTLE_ENDIAN
1417*9ea1301dSPedro Giffuni! #elif defined(_BIG_ENDIAN)
1418*9ea1301dSPedro Giffuni! #    define ICC_BYTE_ORDER_BIG_ENDIAN
1419*9ea1301dSPedro Giffuni! #else
1420*9ea1301dSPedro Giffuni! #    error "ENDIAN unknown"
1421*9ea1301dSPedro Giffuni! #endif
1422*9ea1301dSPedro Giffuni
1423*9ea1301dSPedro Giffuni    #define ICCPROFLIB_API
1424*9ea1301dSPedro Giffuni    #define ICCPROFLIB_EXTERN
1425*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccProfile.cpp  Mon Aug 20 22:05:00 2007
1426*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccProfile.cpp    Fri Jan 25 14:23:09 2008
1427*9ea1301dSPedro Giffuni***************
1428*9ea1301dSPedro Giffuni*** 567,573 ****
1429*9ea1301dSPedro Giffuni
1430*9ea1301dSPedro Giffuni    if (!ReadBasic(pIO)) {
1431*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1432*9ea1301dSPedro Giffuni!     sReport += " - Unable to read profile!**\r\n\tProfile has invalid structure!\r\n";
1433*9ea1301dSPedro Giffuni      Cleanup();
1434*9ea1301dSPedro Giffuni
1435*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1436*9ea1301dSPedro Giffuni--- 567,573 ----
1437*9ea1301dSPedro Giffuni
1438*9ea1301dSPedro Giffuni    if (!ReadBasic(pIO)) {
1439*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1440*9ea1301dSPedro Giffuni!     sReport += " - Unable to read profile!**\n\tProfile has invalid structure!\n";
1441*9ea1301dSPedro Giffuni      Cleanup();
1442*9ea1301dSPedro Giffuni
1443*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1444*9ea1301dSPedro Giffuni***************
1445*9ea1301dSPedro Giffuni*** 576,582 ****
1446*9ea1301dSPedro Giffuni    // Check profile header
1447*9ea1301dSPedro Giffuni    if (!CheckFileSize(pIO)) {
1448*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1449*9ea1301dSPedro Giffuni!     sReport += "Bad Header File Size\r\n";
1450*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1451*9ea1301dSPedro Giffuni    }
1452*9ea1301dSPedro Giffuni
1453*9ea1301dSPedro Giffuni--- 576,582 ----
1454*9ea1301dSPedro Giffuni    // Check profile header
1455*9ea1301dSPedro Giffuni    if (!CheckFileSize(pIO)) {
1456*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1457*9ea1301dSPedro Giffuni!     sReport += "Bad Header File Size\n";
1458*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1459*9ea1301dSPedro Giffuni    }
1460*9ea1301dSPedro Giffuni
1461*9ea1301dSPedro Giffuni***************
1462*9ea1301dSPedro Giffuni*** 588,594 ****
1463*9ea1301dSPedro Giffuni      CalcProfileID(pIO, &profileID);
1464*9ea1301dSPedro Giffuni      if (strncmp((char*)profileID.ID8, (char*)m_Header.profileID.ID8, 16) != 0) {
1465*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
1466*9ea1301dSPedro Giffuni!       sReport += "Bad Profile ID\r\n";
1467*9ea1301dSPedro Giffuni
1468*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
1469*9ea1301dSPedro Giffuni      }
1470*9ea1301dSPedro Giffuni--- 588,594 ----
1471*9ea1301dSPedro Giffuni      CalcProfileID(pIO, &profileID);
1472*9ea1301dSPedro Giffuni      if (strncmp((char*)profileID.ID8, (char*)m_Header.profileID.ID8, 16) != 0) {
1473*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
1474*9ea1301dSPedro Giffuni!       sReport += "Bad Profile ID\n";
1475*9ea1301dSPedro Giffuni
1476*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
1477*9ea1301dSPedro Giffuni      }
1478*9ea1301dSPedro Giffuni***************
1479*9ea1301dSPedro Giffuni*** 601,607 ****
1480*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1481*9ea1301dSPedro Giffuni        sReport += " - ";
1482*9ea1301dSPedro Giffuni        sReport += Info.GetTagSigName(i->TagInfo.sig);
1483*9ea1301dSPedro Giffuni!       sReport += " - Tag has invalid structure!\r\n";
1484*9ea1301dSPedro Giffuni
1485*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1486*9ea1301dSPedro Giffuni      }
1487*9ea1301dSPedro Giffuni--- 601,607 ----
1488*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1489*9ea1301dSPedro Giffuni        sReport += " - ";
1490*9ea1301dSPedro Giffuni        sReport += Info.GetTagSigName(i->TagInfo.sig);
1491*9ea1301dSPedro Giffuni!       sReport += " - Tag has invalid structure!\n";
1492*9ea1301dSPedro Giffuni
1493*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1494*9ea1301dSPedro Giffuni      }
1495*9ea1301dSPedro Giffuni***************
1496*9ea1301dSPedro Giffuni*** 1026,1032 ****
1497*9ea1301dSPedro Giffuni
1498*9ea1301dSPedro Giffuni    default:
1499*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1500*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown profile class!\r\n", Info.GetProfileClassSigName(m_Header.deviceClass));
1501*9ea1301dSPedro Giffuni      sReport += buf;
1502*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1503*9ea1301dSPedro Giffuni    }
1504*9ea1301dSPedro Giffuni--- 1026,1032 ----
1505*9ea1301dSPedro Giffuni
1506*9ea1301dSPedro Giffuni    default:
1507*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1508*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown profile class!\n", Info.GetProfileClassSigName(m_Header.deviceClass));
1509*9ea1301dSPedro Giffuni      sReport += buf;
1510*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1511*9ea1301dSPedro Giffuni    }
1512*9ea1301dSPedro Giffuni***************
1513*9ea1301dSPedro Giffuni*** 1033,1039 ****
1514*9ea1301dSPedro Giffuni
1515*9ea1301dSPedro Giffuni    if (!Info.IsValidSpace(m_Header.colorSpace)) {
1516*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1517*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown color space!\r\n", Info.GetColorSpaceSigName(m_Header.colorSpace));
1518*9ea1301dSPedro Giffuni      sReport += buf;
1519*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1520*9ea1301dSPedro Giffuni    }
1521*9ea1301dSPedro Giffuni--- 1033,1039 ----
1522*9ea1301dSPedro Giffuni
1523*9ea1301dSPedro Giffuni    if (!Info.IsValidSpace(m_Header.colorSpace)) {
1524*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1525*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown color space!\n", Info.GetColorSpaceSigName(m_Header.colorSpace));
1526*9ea1301dSPedro Giffuni      sReport += buf;
1527*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1528*9ea1301dSPedro Giffuni    }
1529*9ea1301dSPedro Giffuni***************
1530*9ea1301dSPedro Giffuni*** 1041,1047 ****
1531*9ea1301dSPedro Giffuni    if (m_Header.deviceClass==icSigLinkClass) {
1532*9ea1301dSPedro Giffuni      if (!Info.IsValidSpace(m_Header.pcs)) {
1533*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1534*9ea1301dSPedro Giffuni!       sprintf(buf, " - %s: Unknown pcs color space!\r\n", Info.GetColorSpaceSigName(m_Header.pcs));
1535*9ea1301dSPedro Giffuni        sReport += buf;
1536*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1537*9ea1301dSPedro Giffuni      }
1538*9ea1301dSPedro Giffuni--- 1041,1047 ----
1539*9ea1301dSPedro Giffuni    if (m_Header.deviceClass==icSigLinkClass) {
1540*9ea1301dSPedro Giffuni      if (!Info.IsValidSpace(m_Header.pcs)) {
1541*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1542*9ea1301dSPedro Giffuni!       sprintf(buf, " - %s: Unknown pcs color space!\n", Info.GetColorSpaceSigName(m_Header.pcs));
1543*9ea1301dSPedro Giffuni        sReport += buf;
1544*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1545*9ea1301dSPedro Giffuni      }
1546*9ea1301dSPedro Giffuni***************
1547*9ea1301dSPedro Giffuni*** 1049,1055 ****
1548*9ea1301dSPedro Giffuni    else {
1549*9ea1301dSPedro Giffuni      if (m_Header.pcs!=icSigXYZData && m_Header.pcs!=icSigLabData) {
1550*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1551*9ea1301dSPedro Giffuni!       sprintf(buf, " - %s: Invalid pcs color space!\r\n", Info.GetColorSpaceSigName(m_Header.pcs));
1552*9ea1301dSPedro Giffuni        sReport += buf;
1553*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1554*9ea1301dSPedro Giffuni      }
1555*9ea1301dSPedro Giffuni--- 1049,1055 ----
1556*9ea1301dSPedro Giffuni    else {
1557*9ea1301dSPedro Giffuni      if (m_Header.pcs!=icSigXYZData && m_Header.pcs!=icSigLabData) {
1558*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1559*9ea1301dSPedro Giffuni!       sprintf(buf, " - %s: Invalid pcs color space!\n", Info.GetColorSpaceSigName(m_Header.pcs));
1560*9ea1301dSPedro Giffuni        sReport += buf;
1561*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1562*9ea1301dSPedro Giffuni      }
1563*9ea1301dSPedro Giffuni***************
1564*9ea1301dSPedro Giffuni*** 1068,1074 ****
1565*9ea1301dSPedro Giffuni
1566*9ea1301dSPedro Giffuni    default:
1567*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1568*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown platform signature.\r\n", Info.GetPlatformSigName(m_Header.platform));
1569*9ea1301dSPedro Giffuni      sReport += buf;
1570*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1571*9ea1301dSPedro Giffuni    }
1572*9ea1301dSPedro Giffuni--- 1068,1074 ----
1573*9ea1301dSPedro Giffuni
1574*9ea1301dSPedro Giffuni    default:
1575*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1576*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown platform signature.\n", Info.GetPlatformSigName(m_Header.platform));
1577*9ea1301dSPedro Giffuni      sReport += buf;
1578*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1579*9ea1301dSPedro Giffuni    }
1580*9ea1301dSPedro Giffuni***************
1581*9ea1301dSPedro Giffuni*** 1095,1101 ****
1582*9ea1301dSPedro Giffuni
1583*9ea1301dSPedro Giffuni    default:
1584*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1585*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unregisterd CMM signature.\r\n", Info.GetCmmSigName((icCmmSignature)m_Header.cmmId));
1586*9ea1301dSPedro Giffuni      sReport += buf;
1587*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1588*9ea1301dSPedro Giffuni    }
1589*9ea1301dSPedro Giffuni--- 1095,1101 ----
1590*9ea1301dSPedro Giffuni
1591*9ea1301dSPedro Giffuni    default:
1592*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
1593*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unregisterd CMM signature.\n", Info.GetCmmSigName((icCmmSignature)m_Header.cmmId));
1594*9ea1301dSPedro Giffuni      sReport += buf;
1595*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
1596*9ea1301dSPedro Giffuni    }
1597*9ea1301dSPedro Giffuni***************
1598*9ea1301dSPedro Giffuni*** 1109,1115 ****
1599*9ea1301dSPedro Giffuni
1600*9ea1301dSPedro Giffuni    default:
1601*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1602*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown rendering intent!\r\n", Info.GetRenderingIntentName((icRenderingIntent)m_Header.renderingIntent));
1603*9ea1301dSPedro Giffuni      sReport += buf;
1604*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1605*9ea1301dSPedro Giffuni    }
1606*9ea1301dSPedro Giffuni--- 1109,1115 ----
1607*9ea1301dSPedro Giffuni
1608*9ea1301dSPedro Giffuni    default:
1609*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1610*9ea1301dSPedro Giffuni!     sprintf(buf, " - %s: Unknown rendering intent!\n", Info.GetRenderingIntentName((icRenderingIntent)m_Header.renderingIntent));
1611*9ea1301dSPedro Giffuni      sReport += buf;
1612*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
1613*9ea1301dSPedro Giffuni    }
1614*9ea1301dSPedro Giffuni***************
1615*9ea1301dSPedro Giffuni*** 1120,1126 ****
1616*9ea1301dSPedro Giffuni    icFloatNumber Z = icFtoD(m_Header.illuminant.Z);
1617*9ea1301dSPedro Giffuni    if (X<0.9640 || X>0.9644 || Y!=1.0 || Z<0.8247 || Z>0.8251) {
1618*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1619*9ea1301dSPedro Giffuni!     sReport += " - Non D50 Illuminant XYZ values.\r\n";
1620*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1621*9ea1301dSPedro Giffuni    }
1622*9ea1301dSPedro Giffuni
1623*9ea1301dSPedro Giffuni--- 1120,1126 ----
1624*9ea1301dSPedro Giffuni    icFloatNumber Z = icFtoD(m_Header.illuminant.Z);
1625*9ea1301dSPedro Giffuni    if (X<0.9640 || X>0.9644 || Y!=1.0 || Z<0.8247 || Z>0.8251) {
1626*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1627*9ea1301dSPedro Giffuni!     sReport += " - Non D50 Illuminant XYZ values.\n";
1628*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1629*9ea1301dSPedro Giffuni    }
1630*9ea1301dSPedro Giffuni
1631*9ea1301dSPedro Giffuni***************
1632*9ea1301dSPedro Giffuni*** 1130,1136 ****
1633*9ea1301dSPedro Giffuni    }
1634*9ea1301dSPedro Giffuni    if (sum) {
1635*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1636*9ea1301dSPedro Giffuni!     sReport += " - Reserved value must be zero.\r\n";
1637*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1638*9ea1301dSPedro Giffuni    }
1639*9ea1301dSPedro Giffuni
1640*9ea1301dSPedro Giffuni--- 1130,1136 ----
1641*9ea1301dSPedro Giffuni    }
1642*9ea1301dSPedro Giffuni    if (sum) {
1643*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
1644*9ea1301dSPedro Giffuni!     sReport += " - Reserved value must be zero.\n";
1645*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
1646*9ea1301dSPedro Giffuni    }
1647*9ea1301dSPedro Giffuni
1648*9ea1301dSPedro Giffuni***************
1649*9ea1301dSPedro Giffuni*** 1163,1169 ****
1650*9ea1301dSPedro Giffuni      {
1651*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1652*9ea1301dSPedro Giffuni        sReport += buf;
1653*9ea1301dSPedro Giffuni!       sReport += " - Tag exclusion test failed.\r\n";
1654*9ea1301dSPedro Giffuni        rv = false;
1655*9ea1301dSPedro Giffuni      }
1656*9ea1301dSPedro Giffuni    }
1657*9ea1301dSPedro Giffuni--- 1163,1169 ----
1658*9ea1301dSPedro Giffuni      {
1659*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
1660*9ea1301dSPedro Giffuni        sReport += buf;
1661*9ea1301dSPedro Giffuni!       sReport += " - Tag exclusion test failed.\n";
1662*9ea1301dSPedro Giffuni        rv = false;
1663*9ea1301dSPedro Giffuni      }
1664*9ea1301dSPedro Giffuni    }
1665*9ea1301dSPedro Giffuni***************
1666*9ea1301dSPedro Giffuni*** 1177,1183 ****
1667*9ea1301dSPedro Giffuni        {
1668*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
1669*9ea1301dSPedro Giffuni          sReport += buf;
1670*9ea1301dSPedro Giffuni!         sReport += " - Tag exclusion test failed.\r\n";
1671*9ea1301dSPedro Giffuni          rv = false;
1672*9ea1301dSPedro Giffuni        }
1673*9ea1301dSPedro Giffuni        break;
1674*9ea1301dSPedro Giffuni--- 1177,1183 ----
1675*9ea1301dSPedro Giffuni        {
1676*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
1677*9ea1301dSPedro Giffuni          sReport += buf;
1678*9ea1301dSPedro Giffuni!         sReport += " - Tag exclusion test failed.\n";
1679*9ea1301dSPedro Giffuni          rv = false;
1680*9ea1301dSPedro Giffuni        }
1681*9ea1301dSPedro Giffuni        break;
1682*9ea1301dSPedro Giffuni***************
1683*9ea1301dSPedro Giffuni*** 1192,1198 ****
1684*9ea1301dSPedro Giffuni        {
1685*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
1686*9ea1301dSPedro Giffuni          sReport += buf;
1687*9ea1301dSPedro Giffuni!         sReport += " - Tag exclusion test failed.\r\n";
1688*9ea1301dSPedro Giffuni          rv = false;
1689*9ea1301dSPedro Giffuni        }
1690*9ea1301dSPedro Giffuni        break;
1691*9ea1301dSPedro Giffuni--- 1192,1198 ----
1692*9ea1301dSPedro Giffuni        {
1693*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
1694*9ea1301dSPedro Giffuni          sReport += buf;
1695*9ea1301dSPedro Giffuni!         sReport += " - Tag exclusion test failed.\n";
1696*9ea1301dSPedro Giffuni          rv = false;
1697*9ea1301dSPedro Giffuni        }
1698*9ea1301dSPedro Giffuni        break;
1699*9ea1301dSPedro Giffuni***************
1700*9ea1301dSPedro Giffuni*** 1234,1240 ****
1701*9ea1301dSPedro Giffuni      if (!IsTypeValid(tagsig, typesig)) {
1702*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
1703*9ea1301dSPedro Giffuni        sReport += buf;
1704*9ea1301dSPedro Giffuni!       sprintf(buf," - %s: Invalid tag type (Might be critical!).\r\n", Info.GetTagTypeSigName(typesig));
1705*9ea1301dSPedro Giffuni        sReport += buf;
1706*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
1707*9ea1301dSPedro Giffuni      }
1708*9ea1301dSPedro Giffuni--- 1234,1240 ----
1709*9ea1301dSPedro Giffuni      if (!IsTypeValid(tagsig, typesig)) {
1710*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
1711*9ea1301dSPedro Giffuni        sReport += buf;
1712*9ea1301dSPedro Giffuni!       sprintf(buf," - %s: Invalid tag type (Might be critical!).\n", Info.GetTagTypeSigName(typesig));
1713*9ea1301dSPedro Giffuni        sReport += buf;
1714*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
1715*9ea1301dSPedro Giffuni      }
1716*9ea1301dSPedro Giffuni***************
1717*9ea1301dSPedro Giffuni*** 1477,1483 ****
1718*9ea1301dSPedro Giffuni  {
1719*9ea1301dSPedro Giffuni    if (m_Tags->size() <= 0) {
1720*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1721*9ea1301dSPedro Giffuni!     sReport += "No tags present.\r\n";
1722*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1723*9ea1301dSPedro Giffuni    }
1724*9ea1301dSPedro Giffuni
1725*9ea1301dSPedro Giffuni--- 1477,1483 ----
1726*9ea1301dSPedro Giffuni  {
1727*9ea1301dSPedro Giffuni    if (m_Tags->size() <= 0) {
1728*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
1729*9ea1301dSPedro Giffuni!     sReport += "No tags present.\n";
1730*9ea1301dSPedro Giffuni      return icValidateCriticalError;
1731*9ea1301dSPedro Giffuni    }
1732*9ea1301dSPedro Giffuni
1733*9ea1301dSPedro Giffuni***************
1734*9ea1301dSPedro Giffuni*** 1486,1492 ****
1735*9ea1301dSPedro Giffuni    if (!GetTag(icSigProfileDescriptionTag) ||
1736*9ea1301dSPedro Giffuni       !GetTag(icSigCopyrightTag)) {
1737*9ea1301dSPedro Giffuni         sReport += icValidateNonCompliantMsg;
1738*9ea1301dSPedro Giffuni!        sReport += "Required tags missing.\r\n";
1739*9ea1301dSPedro Giffuni         rv = icMaxStatus(rv, icValidateNonCompliant);
1740*9ea1301dSPedro Giffuni    }
1741*9ea1301dSPedro Giffuni
1742*9ea1301dSPedro Giffuni--- 1486,1492 ----
1743*9ea1301dSPedro Giffuni    if (!GetTag(icSigProfileDescriptionTag) ||
1744*9ea1301dSPedro Giffuni       !GetTag(icSigCopyrightTag)) {
1745*9ea1301dSPedro Giffuni         sReport += icValidateNonCompliantMsg;
1746*9ea1301dSPedro Giffuni!        sReport += "Required tags missing.\n";
1747*9ea1301dSPedro Giffuni         rv = icMaxStatus(rv, icValidateNonCompliant);
1748*9ea1301dSPedro Giffuni    }
1749*9ea1301dSPedro Giffuni
1750*9ea1301dSPedro Giffuni***************
1751*9ea1301dSPedro Giffuni*** 1495,1501 ****
1752*9ea1301dSPedro Giffuni    if (sig != icSigLinkClass) {
1753*9ea1301dSPedro Giffuni      if (!GetTag(icSigMediaWhitePointTag)) {
1754*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1755*9ea1301dSPedro Giffuni!       sReport += "Media white point tag missing.\r\n";
1756*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1757*9ea1301dSPedro Giffuni      }
1758*9ea1301dSPedro Giffuni    }
1759*9ea1301dSPedro Giffuni--- 1495,1501 ----
1760*9ea1301dSPedro Giffuni    if (sig != icSigLinkClass) {
1761*9ea1301dSPedro Giffuni      if (!GetTag(icSigMediaWhitePointTag)) {
1762*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
1763*9ea1301dSPedro Giffuni!       sReport += "Media white point tag missing.\n";
1764*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
1765*9ea1301dSPedro Giffuni      }
1766*9ea1301dSPedro Giffuni    }
1767*9ea1301dSPedro Giffuni***************
1768*9ea1301dSPedro Giffuni*** 1505,1511 ****
1769*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1770*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1771*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1772*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\r\n";
1773*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1774*9ea1301dSPedro Giffuni          }
1775*9ea1301dSPedro Giffuni        }
1776*9ea1301dSPedro Giffuni--- 1505,1511 ----
1777*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1778*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1779*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1780*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\n";
1781*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1782*9ea1301dSPedro Giffuni          }
1783*9ea1301dSPedro Giffuni        }
1784*9ea1301dSPedro Giffuni***************
1785*9ea1301dSPedro Giffuni*** 1515,1521 ****
1786*9ea1301dSPedro Giffuni               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
1787*9ea1301dSPedro Giffuni               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
1788*9ea1301dSPedro Giffuni                 sReport += icValidateCriticalErrorMsg;
1789*9ea1301dSPedro Giffuni!                sReport += "Critical tag(s) missing.\r\n";
1790*9ea1301dSPedro Giffuni                 rv = icMaxStatus(rv, icValidateCriticalError);
1791*9ea1301dSPedro Giffuni               }
1792*9ea1301dSPedro Giffuni          }
1793*9ea1301dSPedro Giffuni--- 1515,1521 ----
1794*9ea1301dSPedro Giffuni               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
1795*9ea1301dSPedro Giffuni               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
1796*9ea1301dSPedro Giffuni                 sReport += icValidateCriticalErrorMsg;
1797*9ea1301dSPedro Giffuni!                sReport += "Critical tag(s) missing.\n";
1798*9ea1301dSPedro Giffuni                 rv = icMaxStatus(rv, icValidateCriticalError);
1799*9ea1301dSPedro Giffuni               }
1800*9ea1301dSPedro Giffuni          }
1801*9ea1301dSPedro Giffuni***************
1802*9ea1301dSPedro Giffuni*** 1526,1532 ****
1803*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1804*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1805*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1806*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\r\n";
1807*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1808*9ea1301dSPedro Giffuni          }
1809*9ea1301dSPedro Giffuni        }
1810*9ea1301dSPedro Giffuni--- 1526,1532 ----
1811*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1812*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1813*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1814*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\n";
1815*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1816*9ea1301dSPedro Giffuni          }
1817*9ea1301dSPedro Giffuni        }
1818*9ea1301dSPedro Giffuni***************
1819*9ea1301dSPedro Giffuni*** 1536,1542 ****
1820*9ea1301dSPedro Giffuni               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
1821*9ea1301dSPedro Giffuni               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
1822*9ea1301dSPedro Giffuni                 sReport += icValidateCriticalErrorMsg;
1823*9ea1301dSPedro Giffuni!                sReport += "Critical tag(s) missing.\r\n";
1824*9ea1301dSPedro Giffuni                 rv = icMaxStatus(rv, icValidateCriticalError);
1825*9ea1301dSPedro Giffuni               }
1826*9ea1301dSPedro Giffuni          }
1827*9ea1301dSPedro Giffuni--- 1536,1542 ----
1828*9ea1301dSPedro Giffuni               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
1829*9ea1301dSPedro Giffuni               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
1830*9ea1301dSPedro Giffuni                 sReport += icValidateCriticalErrorMsg;
1831*9ea1301dSPedro Giffuni!                sReport += "Critical tag(s) missing.\n";
1832*9ea1301dSPedro Giffuni                 rv = icMaxStatus(rv, icValidateCriticalError);
1833*9ea1301dSPedro Giffuni               }
1834*9ea1301dSPedro Giffuni          }
1835*9ea1301dSPedro Giffuni***************
1836*9ea1301dSPedro Giffuni*** 1547,1553 ****
1837*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1838*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1839*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1840*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\r\n";
1841*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1842*9ea1301dSPedro Giffuni          }
1843*9ea1301dSPedro Giffuni        }
1844*9ea1301dSPedro Giffuni--- 1547,1553 ----
1845*9ea1301dSPedro Giffuni        if (m_Header.colorSpace == icSigGrayData) {
1846*9ea1301dSPedro Giffuni          if (!GetTag(icSigGrayTRCTag)) {
1847*9ea1301dSPedro Giffuni            sReport += icValidateCriticalErrorMsg;
1848*9ea1301dSPedro Giffuni!           sReport += "Gray TRC tag missing.\n";
1849*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateCriticalError);
1850*9ea1301dSPedro Giffuni          }
1851*9ea1301dSPedro Giffuni        }
1852*9ea1301dSPedro Giffuni***************
1853*9ea1301dSPedro Giffuni*** 1556,1568 ****
1854*9ea1301dSPedro Giffuni             !GetTag(icSigAToB1Tag) || !GetTag(icSigBToA1Tag) ||
1855*9ea1301dSPedro Giffuni             !GetTag(icSigAToB2Tag) || !GetTag(icSigBToA2Tag)) {
1856*9ea1301dSPedro Giffuni               sReport += icValidateCriticalErrorMsg;
1857*9ea1301dSPedro Giffuni!              sReport += "Critical tag(s) missing.\r\n";
1858*9ea1301dSPedro Giffuni               rv = icMaxStatus(rv, icValidateCriticalError);
1859*9ea1301dSPedro Giffuni             }
1860*9ea1301dSPedro Giffuni
1861*9ea1301dSPedro Giffuni          if (!GetTag(icSigGamutTag)) {
1862*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1863*9ea1301dSPedro Giffuni!           sReport += "Gamut tag missing.\r\n";
1864*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1865*9ea1301dSPedro Giffuni          }
1866*9ea1301dSPedro Giffuni
1867*9ea1301dSPedro Giffuni--- 1556,1568 ----
1868*9ea1301dSPedro Giffuni             !GetTag(icSigAToB1Tag) || !GetTag(icSigBToA1Tag) ||
1869*9ea1301dSPedro Giffuni             !GetTag(icSigAToB2Tag) || !GetTag(icSigBToA2Tag)) {
1870*9ea1301dSPedro Giffuni               sReport += icValidateCriticalErrorMsg;
1871*9ea1301dSPedro Giffuni!              sReport += "Critical tag(s) missing.\n";
1872*9ea1301dSPedro Giffuni               rv = icMaxStatus(rv, icValidateCriticalError);
1873*9ea1301dSPedro Giffuni             }
1874*9ea1301dSPedro Giffuni
1875*9ea1301dSPedro Giffuni          if (!GetTag(icSigGamutTag)) {
1876*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1877*9ea1301dSPedro Giffuni!           sReport += "Gamut tag missing.\n";
1878*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1879*9ea1301dSPedro Giffuni          }
1880*9ea1301dSPedro Giffuni
1881*9ea1301dSPedro Giffuni***************
1882*9ea1301dSPedro Giffuni*** 1585,1591 ****
1883*9ea1301dSPedro Giffuni              case icSig16colorData:
1884*9ea1301dSPedro Giffuni                if (!GetTag(icSigColorantTableTag)) {
1885*9ea1301dSPedro Giffuni                  sReport += icValidateNonCompliantMsg;
1886*9ea1301dSPedro Giffuni!                 sReport += "xCLR output profile is missing colorantTableTag\r\n";
1887*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateNonCompliant);
1888*9ea1301dSPedro Giffuni                }
1889*9ea1301dSPedro Giffuni
1890*9ea1301dSPedro Giffuni--- 1585,1591 ----
1891*9ea1301dSPedro Giffuni              case icSig16colorData:
1892*9ea1301dSPedro Giffuni                if (!GetTag(icSigColorantTableTag)) {
1893*9ea1301dSPedro Giffuni                  sReport += icValidateNonCompliantMsg;
1894*9ea1301dSPedro Giffuni!                 sReport += "xCLR output profile is missing colorantTableTag\n";
1895*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateNonCompliant);
1896*9ea1301dSPedro Giffuni                }
1897*9ea1301dSPedro Giffuni
1898*9ea1301dSPedro Giffuni***************
1899*9ea1301dSPedro Giffuni*** 1599,1605 ****
1900*9ea1301dSPedro Giffuni      case icSigLinkClass:
1901*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigProfileSequenceDescTag)) {
1902*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1903*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\r\n";
1904*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1905*9ea1301dSPedro Giffuni        }
1906*9ea1301dSPedro Giffuni
1907*9ea1301dSPedro Giffuni--- 1599,1605 ----
1908*9ea1301dSPedro Giffuni      case icSigLinkClass:
1909*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigProfileSequenceDescTag)) {
1910*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1911*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\n";
1912*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1913*9ea1301dSPedro Giffuni        }
1914*9ea1301dSPedro Giffuni
1915*9ea1301dSPedro Giffuni***************
1916*9ea1301dSPedro Giffuni*** 1606,1612 ****
1917*9ea1301dSPedro Giffuni        if (icIsSpaceCLR(m_Header.colorSpace)) {
1918*9ea1301dSPedro Giffuni          if (!GetTag(icSigColorantTableTag)) {
1919*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1920*9ea1301dSPedro Giffuni!           sReport += "Required tag(s) missing.\r\n";
1921*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1922*9ea1301dSPedro Giffuni          }
1923*9ea1301dSPedro Giffuni        }
1924*9ea1301dSPedro Giffuni--- 1606,1612 ----
1925*9ea1301dSPedro Giffuni        if (icIsSpaceCLR(m_Header.colorSpace)) {
1926*9ea1301dSPedro Giffuni          if (!GetTag(icSigColorantTableTag)) {
1927*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1928*9ea1301dSPedro Giffuni!           sReport += "Required tag(s) missing.\n";
1929*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1930*9ea1301dSPedro Giffuni          }
1931*9ea1301dSPedro Giffuni        }
1932*9ea1301dSPedro Giffuni***************
1933*9ea1301dSPedro Giffuni*** 1614,1620 ****
1934*9ea1301dSPedro Giffuni        if (icIsSpaceCLR(m_Header.pcs)) {
1935*9ea1301dSPedro Giffuni          if (!GetTag(icSigColorantTableOutTag)) {
1936*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1937*9ea1301dSPedro Giffuni!           sReport += "Required tag(s) missing.\r\n";
1938*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1939*9ea1301dSPedro Giffuni          }
1940*9ea1301dSPedro Giffuni        }
1941*9ea1301dSPedro Giffuni--- 1614,1620 ----
1942*9ea1301dSPedro Giffuni        if (icIsSpaceCLR(m_Header.pcs)) {
1943*9ea1301dSPedro Giffuni          if (!GetTag(icSigColorantTableOutTag)) {
1944*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
1945*9ea1301dSPedro Giffuni!           sReport += "Required tag(s) missing.\n";
1946*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
1947*9ea1301dSPedro Giffuni          }
1948*9ea1301dSPedro Giffuni        }
1949*9ea1301dSPedro Giffuni***************
1950*9ea1301dSPedro Giffuni*** 1623,1629 ****
1951*9ea1301dSPedro Giffuni      case icSigColorSpaceClass:
1952*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigBToA0Tag)) {
1953*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1954*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\r\n";
1955*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1956*9ea1301dSPedro Giffuni        }
1957*9ea1301dSPedro Giffuni        break;
1958*9ea1301dSPedro Giffuni--- 1623,1629 ----
1959*9ea1301dSPedro Giffuni      case icSigColorSpaceClass:
1960*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigBToA0Tag)) {
1961*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1962*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\n";
1963*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1964*9ea1301dSPedro Giffuni        }
1965*9ea1301dSPedro Giffuni        break;
1966*9ea1301dSPedro Giffuni***************
1967*9ea1301dSPedro Giffuni*** 1631,1637 ****
1968*9ea1301dSPedro Giffuni      case icSigAbstractClass:
1969*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag)) {
1970*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1971*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\r\n";
1972*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1973*9ea1301dSPedro Giffuni        }
1974*9ea1301dSPedro Giffuni        break;
1975*9ea1301dSPedro Giffuni--- 1631,1637 ----
1976*9ea1301dSPedro Giffuni      case icSigAbstractClass:
1977*9ea1301dSPedro Giffuni        if (!GetTag(icSigAToB0Tag)) {
1978*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1979*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\n";
1980*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1981*9ea1301dSPedro Giffuni        }
1982*9ea1301dSPedro Giffuni        break;
1983*9ea1301dSPedro Giffuni***************
1984*9ea1301dSPedro Giffuni*** 1639,1645 ****
1985*9ea1301dSPedro Giffuni      case icSigNamedColorClass:
1986*9ea1301dSPedro Giffuni        if (!GetTag(icSigNamedColor2Tag)) {
1987*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1988*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\r\n";
1989*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1990*9ea1301dSPedro Giffuni        }
1991*9ea1301dSPedro Giffuni
1992*9ea1301dSPedro Giffuni--- 1639,1645 ----
1993*9ea1301dSPedro Giffuni      case icSigNamedColorClass:
1994*9ea1301dSPedro Giffuni        if (!GetTag(icSigNamedColor2Tag)) {
1995*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
1996*9ea1301dSPedro Giffuni!         sReport += "Critical tag(s) missing.\n";
1997*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
1998*9ea1301dSPedro Giffuni        }
1999*9ea1301dSPedro Giffuni
2000*9ea1301dSPedro Giffuni***************
2001*9ea1301dSPedro Giffuni*** 1647,1653 ****
2002*9ea1301dSPedro Giffuni
2003*9ea1301dSPedro Giffuni      default:
2004*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
2005*9ea1301dSPedro Giffuni!       sReport += "Unknown Profile Class.\r\n";
2006*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
2007*9ea1301dSPedro Giffuni        break;
2008*9ea1301dSPedro Giffuni    }
2009*9ea1301dSPedro Giffuni--- 1647,1653 ----
2010*9ea1301dSPedro Giffuni
2011*9ea1301dSPedro Giffuni      default:
2012*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
2013*9ea1301dSPedro Giffuni!       sReport += "Unknown Profile Class.\n";
2014*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
2015*9ea1301dSPedro Giffuni        break;
2016*9ea1301dSPedro Giffuni    }
2017*9ea1301dSPedro Giffuni***************
2018*9ea1301dSPedro Giffuni*** 1724,1730 ****
2019*9ea1301dSPedro Giffuni    // Check for duplicate tags
2020*9ea1301dSPedro Giffuni    if (!AreTagsUnique()) {
2021*9ea1301dSPedro Giffuni      sReport += icValidateWarning;
2022*9ea1301dSPedro Giffuni!     sReport += " - There are duplicate tags.\r\n";
2023*9ea1301dSPedro Giffuni      rv =icMaxStatus(rv, icValidateWarning);
2024*9ea1301dSPedro Giffuni    }
2025*9ea1301dSPedro Giffuni
2026*9ea1301dSPedro Giffuni--- 1724,1730 ----
2027*9ea1301dSPedro Giffuni    // Check for duplicate tags
2028*9ea1301dSPedro Giffuni    if (!AreTagsUnique()) {
2029*9ea1301dSPedro Giffuni      sReport += icValidateWarning;
2030*9ea1301dSPedro Giffuni!     sReport += " - There are duplicate tags.\n";
2031*9ea1301dSPedro Giffuni      rv =icMaxStatus(rv, icValidateWarning);
2032*9ea1301dSPedro Giffuni    }
2033*9ea1301dSPedro Giffuni
2034*9ea1301dSPedro Giffuni***************
2035*9ea1301dSPedro Giffuni*** 1979,1985 ****
2036*9ea1301dSPedro Giffuni      sReport = icValidateCriticalErrorMsg;
2037*9ea1301dSPedro Giffuni      sReport += " - ";
2038*9ea1301dSPedro Giffuni      sReport += szFilename;
2039*9ea1301dSPedro Giffuni!     sReport += "- Invalid Filename\r\n";
2040*9ea1301dSPedro Giffuni      delete pFileIO;
2041*9ea1301dSPedro Giffuni      return NULL;
2042*9ea1301dSPedro Giffuni    }
2043*9ea1301dSPedro Giffuni--- 1979,1985 ----
2044*9ea1301dSPedro Giffuni      sReport = icValidateCriticalErrorMsg;
2045*9ea1301dSPedro Giffuni      sReport += " - ";
2046*9ea1301dSPedro Giffuni      sReport += szFilename;
2047*9ea1301dSPedro Giffuni!     sReport += "- Invalid Filename\n";
2048*9ea1301dSPedro Giffuni      delete pFileIO;
2049*9ea1301dSPedro Giffuni      return NULL;
2050*9ea1301dSPedro Giffuni    }
2051*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccTagBasic.cpp Mon Aug 20 22:05:00 2007
2052*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagBasic.cpp   Fri Jan 25 14:23:09 2008
2053*9ea1301dSPedro Giffuni***************
2054*9ea1301dSPedro Giffuni*** 166,172 ****
2055*9ea1301dSPedro Giffuni      CIccInfo Info;
2056*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2057*9ea1301dSPedro Giffuni      sReport += Info.GetSigName(sig);
2058*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\r\n";
2059*9ea1301dSPedro Giffuni
2060*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
2061*9ea1301dSPedro Giffuni    }
2062*9ea1301dSPedro Giffuni--- 166,172 ----
2063*9ea1301dSPedro Giffuni      CIccInfo Info;
2064*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2065*9ea1301dSPedro Giffuni      sReport += Info.GetSigName(sig);
2066*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\n";
2067*9ea1301dSPedro Giffuni
2068*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
2069*9ea1301dSPedro Giffuni    }
2070*9ea1301dSPedro Giffuni***************
2071*9ea1301dSPedro Giffuni*** 340,346 ****
2072*9ea1301dSPedro Giffuni    sprintf(buf, "%u Bytes.", m_nSize-4);
2073*9ea1301dSPedro Giffuni    sDescription += buf;
2074*9ea1301dSPedro Giffuni
2075*9ea1301dSPedro Giffuni!   sDescription += "\r\n\r\nData Follows:\r\n";
2076*9ea1301dSPedro Giffuni
2077*9ea1301dSPedro Giffuni    icMemDump(sDescription, m_pData+4, m_nSize-4);
2078*9ea1301dSPedro Giffuni  }
2079*9ea1301dSPedro Giffuni--- 340,346 ----
2080*9ea1301dSPedro Giffuni    sprintf(buf, "%u Bytes.", m_nSize-4);
2081*9ea1301dSPedro Giffuni    sDescription += buf;
2082*9ea1301dSPedro Giffuni
2083*9ea1301dSPedro Giffuni!   sDescription += "\n\nData Follows:\n";
2084*9ea1301dSPedro Giffuni
2085*9ea1301dSPedro Giffuni    icMemDump(sDescription, m_pData+4, m_nSize-4);
2086*9ea1301dSPedro Giffuni  }
2087*9ea1301dSPedro Giffuni***************
2088*9ea1301dSPedro Giffuni*** 511,517 ****
2089*9ea1301dSPedro Giffuni    if (m_szText && *m_szText)
2090*9ea1301dSPedro Giffuni      sDescription += m_szText;
2091*9ea1301dSPedro Giffuni
2092*9ea1301dSPedro Giffuni!   sDescription += "\"\r\n";
2093*9ea1301dSPedro Giffuni  }
2094*9ea1301dSPedro Giffuni
2095*9ea1301dSPedro Giffuni
2096*9ea1301dSPedro Giffuni--- 511,517 ----
2097*9ea1301dSPedro Giffuni    if (m_szText && *m_szText)
2098*9ea1301dSPedro Giffuni      sDescription += m_szText;
2099*9ea1301dSPedro Giffuni
2100*9ea1301dSPedro Giffuni!   sDescription += "\"\n";
2101*9ea1301dSPedro Giffuni  }
2102*9ea1301dSPedro Giffuni
2103*9ea1301dSPedro Giffuni
2104*9ea1301dSPedro Giffuni***************
2105*9ea1301dSPedro Giffuni*** 629,635 ****
2106*9ea1301dSPedro Giffuni        if (m_nBufSize<7) {
2107*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2108*9ea1301dSPedro Giffuni          sReport += sSigName;
2109*9ea1301dSPedro Giffuni!         sReport += " - Tag must have at least seven text characters.\r\n";
2110*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2111*9ea1301dSPedro Giffuni        }
2112*9ea1301dSPedro Giffuni        break;
2113*9ea1301dSPedro Giffuni--- 629,635 ----
2114*9ea1301dSPedro Giffuni        if (m_nBufSize<7) {
2115*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2116*9ea1301dSPedro Giffuni          sReport += sSigName;
2117*9ea1301dSPedro Giffuni!         sReport += " - Tag must have at least seven text characters.\n";
2118*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2119*9ea1301dSPedro Giffuni        }
2120*9ea1301dSPedro Giffuni        break;
2121*9ea1301dSPedro Giffuni***************
2122*9ea1301dSPedro Giffuni*** 636,642 ****
2123*9ea1301dSPedro Giffuni      default:
2124*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
2125*9ea1301dSPedro Giffuni        sReport += sSigName;
2126*9ea1301dSPedro Giffuni!       sReport += " - Unknown Tag.\r\n";
2127*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
2128*9ea1301dSPedro Giffuni      }
2129*9ea1301dSPedro Giffuni      int i;
2130*9ea1301dSPedro Giffuni--- 636,642 ----
2131*9ea1301dSPedro Giffuni      default:
2132*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
2133*9ea1301dSPedro Giffuni        sReport += sSigName;
2134*9ea1301dSPedro Giffuni!       sReport += " - Unknown Tag.\n";
2135*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
2136*9ea1301dSPedro Giffuni      }
2137*9ea1301dSPedro Giffuni      int i;
2138*9ea1301dSPedro Giffuni***************
2139*9ea1301dSPedro Giffuni*** 644,650 ****
2140*9ea1301dSPedro Giffuni        if (m_szText[i]&0x80) {
2141*9ea1301dSPedro Giffuni          sReport += icValidateWarning;
2142*9ea1301dSPedro Giffuni          sReport += sSigName;
2143*9ea1301dSPedro Giffuni!         sReport += " - Text do not contain 7bit data.\r\n";
2144*9ea1301dSPedro Giffuni        }
2145*9ea1301dSPedro Giffuni      }
2146*9ea1301dSPedro Giffuni    }
2147*9ea1301dSPedro Giffuni--- 644,650 ----
2148*9ea1301dSPedro Giffuni        if (m_szText[i]&0x80) {
2149*9ea1301dSPedro Giffuni          sReport += icValidateWarning;
2150*9ea1301dSPedro Giffuni          sReport += sSigName;
2151*9ea1301dSPedro Giffuni!         sReport += " - Text do not contain 7bit data.\n";
2152*9ea1301dSPedro Giffuni        }
2153*9ea1301dSPedro Giffuni      }
2154*9ea1301dSPedro Giffuni    }
2155*9ea1301dSPedro Giffuni***************
2156*9ea1301dSPedro Giffuni*** 651,657 ****
2157*9ea1301dSPedro Giffuni    else {
2158*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2159*9ea1301dSPedro Giffuni      sReport += sSigName;
2160*9ea1301dSPedro Giffuni!     sReport += " - Empty Tag.\r\n";
2161*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2162*9ea1301dSPedro Giffuni    }
2163*9ea1301dSPedro Giffuni
2164*9ea1301dSPedro Giffuni--- 651,657 ----
2165*9ea1301dSPedro Giffuni    else {
2166*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2167*9ea1301dSPedro Giffuni      sReport += sSigName;
2168*9ea1301dSPedro Giffuni!     sReport += " - Empty Tag.\n";
2169*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2170*9ea1301dSPedro Giffuni    }
2171*9ea1301dSPedro Giffuni
2172*9ea1301dSPedro Giffuni***************
2173*9ea1301dSPedro Giffuni*** 941,947 ****
2174*9ea1301dSPedro Giffuni    if (m_szText && *m_szText)
2175*9ea1301dSPedro Giffuni      sDescription += m_szText;
2176*9ea1301dSPedro Giffuni
2177*9ea1301dSPedro Giffuni!   sDescription += "\"\r\n";
2178*9ea1301dSPedro Giffuni  }
2179*9ea1301dSPedro Giffuni
2180*9ea1301dSPedro Giffuni
2181*9ea1301dSPedro Giffuni--- 941,947 ----
2182*9ea1301dSPedro Giffuni    if (m_szText && *m_szText)
2183*9ea1301dSPedro Giffuni      sDescription += m_szText;
2184*9ea1301dSPedro Giffuni
2185*9ea1301dSPedro Giffuni!   sDescription += "\"\n";
2186*9ea1301dSPedro Giffuni  }
2187*9ea1301dSPedro Giffuni
2188*9ea1301dSPedro Giffuni
2189*9ea1301dSPedro Giffuni***************
2190*9ea1301dSPedro Giffuni*** 1101,1107 ****
2191*9ea1301dSPedro Giffuni    if (m_nScriptSize>67) {
2192*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2193*9ea1301dSPedro Giffuni      sReport += sSigName;
2194*9ea1301dSPedro Giffuni!     sReport += " - ScriptCode count must not be greater than 67.\r\n";
2195*9ea1301dSPedro Giffuni
2196*9ea1301dSPedro Giffuni      rv =icMaxStatus(rv, icValidateNonCompliant);
2197*9ea1301dSPedro Giffuni    }
2198*9ea1301dSPedro Giffuni--- 1101,1107 ----
2199*9ea1301dSPedro Giffuni    if (m_nScriptSize>67) {
2200*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2201*9ea1301dSPedro Giffuni      sReport += sSigName;
2202*9ea1301dSPedro Giffuni!     sReport += " - ScriptCode count must not be greater than 67.\n";
2203*9ea1301dSPedro Giffuni
2204*9ea1301dSPedro Giffuni      rv =icMaxStatus(rv, icValidateNonCompliant);
2205*9ea1301dSPedro Giffuni    }
2206*9ea1301dSPedro Giffuni***************
2207*9ea1301dSPedro Giffuni*** 1260,1266 ****
2208*9ea1301dSPedro Giffuni    CIccInfo Fmt;
2209*9ea1301dSPedro Giffuni
2210*9ea1301dSPedro Giffuni    sDescription += Fmt.GetSigName(m_nSig);
2211*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
2212*9ea1301dSPedro Giffuni  }
2213*9ea1301dSPedro Giffuni
2214*9ea1301dSPedro Giffuni
2215*9ea1301dSPedro Giffuni--- 1260,1266 ----
2216*9ea1301dSPedro Giffuni    CIccInfo Fmt;
2217*9ea1301dSPedro Giffuni
2218*9ea1301dSPedro Giffuni    sDescription += Fmt.GetSigName(m_nSig);
2219*9ea1301dSPedro Giffuni!   sDescription += "\n";
2220*9ea1301dSPedro Giffuni  }
2221*9ea1301dSPedro Giffuni
2222*9ea1301dSPedro Giffuni
2223*9ea1301dSPedro Giffuni***************
2224*9ea1301dSPedro Giffuni*** 1320,1326 ****
2225*9ea1301dSPedro Giffuni        {
2226*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2227*9ea1301dSPedro Giffuni          sReport += sSigName;
2228*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Technology.\r\n", Info.GetSigName(m_nSig));
2229*9ea1301dSPedro Giffuni          sReport += buf;
2230*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2231*9ea1301dSPedro Giffuni        }
2232*9ea1301dSPedro Giffuni--- 1320,1326 ----
2233*9ea1301dSPedro Giffuni        {
2234*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2235*9ea1301dSPedro Giffuni          sReport += sSigName;
2236*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(m_nSig));
2237*9ea1301dSPedro Giffuni          sReport += buf;
2238*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2239*9ea1301dSPedro Giffuni        }
2240*9ea1301dSPedro Giffuni***************
2241*9ea1301dSPedro Giffuni*** 1336,1342 ****
2242*9ea1301dSPedro Giffuni        {
2243*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2244*9ea1301dSPedro Giffuni          sReport += sSigName;
2245*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Reference Medium Gamut.\r\n", Info.GetSigName(m_nSig));
2246*9ea1301dSPedro Giffuni          sReport += buf;
2247*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2248*9ea1301dSPedro Giffuni        }
2249*9ea1301dSPedro Giffuni--- 1336,1342 ----
2250*9ea1301dSPedro Giffuni        {
2251*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2252*9ea1301dSPedro Giffuni          sReport += sSigName;
2253*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Reference Medium Gamut.\n", Info.GetSigName(m_nSig));
2254*9ea1301dSPedro Giffuni          sReport += buf;
2255*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2256*9ea1301dSPedro Giffuni        }
2257*9ea1301dSPedro Giffuni***************
2258*9ea1301dSPedro Giffuni*** 1355,1361 ****
2259*9ea1301dSPedro Giffuni        {
2260*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2261*9ea1301dSPedro Giffuni          sReport += sSigName;
2262*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Colorimetric Intent Image State.\r\n", Info.GetSigName(m_nSig));
2263*9ea1301dSPedro Giffuni          sReport += buf;
2264*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2265*9ea1301dSPedro Giffuni        }
2266*9ea1301dSPedro Giffuni--- 1355,1361 ----
2267*9ea1301dSPedro Giffuni        {
2268*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2269*9ea1301dSPedro Giffuni          sReport += sSigName;
2270*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Colorimetric Intent Image State.\n", Info.GetSigName(m_nSig));
2271*9ea1301dSPedro Giffuni          sReport += buf;
2272*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2273*9ea1301dSPedro Giffuni        }
2274*9ea1301dSPedro Giffuni***************
2275*9ea1301dSPedro Giffuni*** 1686,1692 ****
2276*9ea1301dSPedro Giffuni
2277*9ea1301dSPedro Giffuni    sDescription.reserve(sDescription.size() + m_nSize*79);
2278*9ea1301dSPedro Giffuni
2279*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_NAMED_COLORS flags=%08x %u %u\r\n", m_nVendorFlags, m_nSize, m_nDeviceCoords);
2280*9ea1301dSPedro Giffuni    sDescription += buf;
2281*9ea1301dSPedro Giffuni
2282*9ea1301dSPedro Giffuni    for (i=0; i<m_nSize; i++) {
2283*9ea1301dSPedro Giffuni--- 1686,1692 ----
2284*9ea1301dSPedro Giffuni
2285*9ea1301dSPedro Giffuni    sDescription.reserve(sDescription.size() + m_nSize*79);
2286*9ea1301dSPedro Giffuni
2287*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_NAMED_COLORS flags=%08x %u %u\n", m_nVendorFlags, m_nSize, m_nDeviceCoords);
2288*9ea1301dSPedro Giffuni    sDescription += buf;
2289*9ea1301dSPedro Giffuni
2290*9ea1301dSPedro Giffuni    for (i=0; i<m_nSize; i++) {
2291*9ea1301dSPedro Giffuni***************
2292*9ea1301dSPedro Giffuni*** 1717,1723 ****
2293*9ea1301dSPedro Giffuni          sDescription += buf;
2294*9ea1301dSPedro Giffuni        }
2295*9ea1301dSPedro Giffuni      }
2296*9ea1301dSPedro Giffuni!     sDescription += "\r\n";
2297*9ea1301dSPedro Giffuni
2298*9ea1301dSPedro Giffuni      pNamedColor = (SIccNamedColorEntry*)((icChar*)pNamedColor + m_nColorEntrySize);
2299*9ea1301dSPedro Giffuni    }
2300*9ea1301dSPedro Giffuni--- 1717,1723 ----
2301*9ea1301dSPedro Giffuni          sDescription += buf;
2302*9ea1301dSPedro Giffuni        }
2303*9ea1301dSPedro Giffuni      }
2304*9ea1301dSPedro Giffuni!     sDescription += "\n";
2305*9ea1301dSPedro Giffuni
2306*9ea1301dSPedro Giffuni      pNamedColor = (SIccNamedColorEntry*)((icChar*)pNamedColor + m_nColorEntrySize);
2307*9ea1301dSPedro Giffuni    }
2308*9ea1301dSPedro Giffuni***************
2309*9ea1301dSPedro Giffuni*** 2082,2088 ****
2310*9ea1301dSPedro Giffuni    if (!m_nSize) {
2311*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2312*9ea1301dSPedro Giffuni      sReport += sSigName;
2313*9ea1301dSPedro Giffuni!     sReport += " - Empty tag!\r\n";
2314*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2315*9ea1301dSPedro Giffuni    }
2316*9ea1301dSPedro Giffuni
2317*9ea1301dSPedro Giffuni--- 2082,2088 ----
2318*9ea1301dSPedro Giffuni    if (!m_nSize) {
2319*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2320*9ea1301dSPedro Giffuni      sReport += sSigName;
2321*9ea1301dSPedro Giffuni!     sReport += " - Empty tag!\n";
2322*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2323*9ea1301dSPedro Giffuni    }
2324*9ea1301dSPedro Giffuni
2325*9ea1301dSPedro Giffuni***************
2326*9ea1301dSPedro Giffuni*** 2092,2098 ****
2327*9ea1301dSPedro Giffuni        if (m_nDeviceCoords != nCoords) {
2328*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2329*9ea1301dSPedro Giffuni          sReport += sSigName;
2330*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of device co-ordinates.\r\n";
2331*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2332*9ea1301dSPedro Giffuni        }
2333*9ea1301dSPedro Giffuni      }
2334*9ea1301dSPedro Giffuni--- 2092,2098 ----
2335*9ea1301dSPedro Giffuni        if (m_nDeviceCoords != nCoords) {
2336*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
2337*9ea1301dSPedro Giffuni          sReport += sSigName;
2338*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of device co-ordinates.\n";
2339*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
2340*9ea1301dSPedro Giffuni        }
2341*9ea1301dSPedro Giffuni      }
2342*9ea1301dSPedro Giffuni***************
2343*9ea1301dSPedro Giffuni*** 2099,2105 ****
2344*9ea1301dSPedro Giffuni      else {
2345*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
2346*9ea1301dSPedro Giffuni        sReport += sSigName;
2347*9ea1301dSPedro Giffuni!       sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
2348*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
2349*9ea1301dSPedro Giffuni      }
2350*9ea1301dSPedro Giffuni    }
2351*9ea1301dSPedro Giffuni--- 2099,2105 ----
2352*9ea1301dSPedro Giffuni      else {
2353*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
2354*9ea1301dSPedro Giffuni        sReport += sSigName;
2355*9ea1301dSPedro Giffuni!       sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
2356*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
2357*9ea1301dSPedro Giffuni      }
2358*9ea1301dSPedro Giffuni    }
2359*9ea1301dSPedro Giffuni***************
2360*9ea1301dSPedro Giffuni*** 2285,2291 ****
2361*9ea1301dSPedro Giffuni    icChar buf[128];
2362*9ea1301dSPedro Giffuni
2363*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2364*9ea1301dSPedro Giffuni!     sprintf(buf, "X=%.4lf, Y=%.4lf, Z=%.4lf\r\n", icFtoD(m_XYZ[0].X), icFtoD(m_XYZ[0].Y), icFtoD(m_XYZ[0].Z));
2365*9ea1301dSPedro Giffuni      sDescription += buf;
2366*9ea1301dSPedro Giffuni    }
2367*9ea1301dSPedro Giffuni    else {
2368*9ea1301dSPedro Giffuni--- 2285,2291 ----
2369*9ea1301dSPedro Giffuni    icChar buf[128];
2370*9ea1301dSPedro Giffuni
2371*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2372*9ea1301dSPedro Giffuni!     sprintf(buf, "X=%.4lf, Y=%.4lf, Z=%.4lf\n", icFtoD(m_XYZ[0].X), icFtoD(m_XYZ[0].Y), icFtoD(m_XYZ[0].Z));
2373*9ea1301dSPedro Giffuni      sDescription += buf;
2374*9ea1301dSPedro Giffuni    }
2375*9ea1301dSPedro Giffuni    else {
2376*9ea1301dSPedro Giffuni***************
2377*9ea1301dSPedro Giffuni*** 2293,2299 ****
2378*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2379*9ea1301dSPedro Giffuni
2380*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2381*9ea1301dSPedro Giffuni!       sprintf(buf, "value[%u]: X=%.4lf, Y=%.4lf, Z=%.4lf\r\n", i, icFtoD(m_XYZ[i].X), icFtoD(m_XYZ[i].Y), icFtoD(m_XYZ[i].Z));
2382*9ea1301dSPedro Giffuni        sDescription += buf;
2383*9ea1301dSPedro Giffuni      }
2384*9ea1301dSPedro Giffuni    }
2385*9ea1301dSPedro Giffuni--- 2293,2299 ----
2386*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2387*9ea1301dSPedro Giffuni
2388*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2389*9ea1301dSPedro Giffuni!       sprintf(buf, "value[%u]: X=%.4lf, Y=%.4lf, Z=%.4lf\n", i, icFtoD(m_XYZ[i].X), icFtoD(m_XYZ[i].Y), icFtoD(m_XYZ[i].Z));
2390*9ea1301dSPedro Giffuni        sDescription += buf;
2391*9ea1301dSPedro Giffuni      }
2392*9ea1301dSPedro Giffuni    }
2393*9ea1301dSPedro Giffuni***************
2394*9ea1301dSPedro Giffuni*** 2347,2353 ****
2395*9ea1301dSPedro Giffuni    if (!m_nSize) {
2396*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2397*9ea1301dSPedro Giffuni      sReport += sSigName;
2398*9ea1301dSPedro Giffuni!     sReport += " - Empty tag.\r\n";
2399*9ea1301dSPedro Giffuni
2400*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2401*9ea1301dSPedro Giffuni      return rv;
2402*9ea1301dSPedro Giffuni--- 2347,2353 ----
2403*9ea1301dSPedro Giffuni    if (!m_nSize) {
2404*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2405*9ea1301dSPedro Giffuni      sReport += sSigName;
2406*9ea1301dSPedro Giffuni!     sReport += " - Empty tag.\n";
2407*9ea1301dSPedro Giffuni
2408*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2409*9ea1301dSPedro Giffuni      return rv;
2410*9ea1301dSPedro Giffuni***************
2411*9ea1301dSPedro Giffuni*** 2553,2566 ****
2412*9ea1301dSPedro Giffuni
2413*9ea1301dSPedro Giffuni    icUInt32Number i;
2414*9ea1301dSPedro Giffuni    //sDescription.reserve(sDescription.size() + m_nChannels*79);
2415*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Channels : %u\r\n", m_nChannels);
2416*9ea1301dSPedro Giffuni    sDescription += buf;
2417*9ea1301dSPedro Giffuni
2418*9ea1301dSPedro Giffuni!   sprintf(buf, "Colorant Encoding : %s\r\n", Fmt.GetColorantEncoding((icColorantEncoding)m_nColorantType));
2419*9ea1301dSPedro Giffuni    sDescription += buf;
2420*9ea1301dSPedro Giffuni
2421*9ea1301dSPedro Giffuni    for (i=0; i<m_nChannels; i++) {
2422*9ea1301dSPedro Giffuni!     sprintf(buf, "value[%u]: x=%.3lf, y=%.3lf\r\n", i, icUFtoD(m_xy[i].x), icUFtoD(m_xy[i].y));
2423*9ea1301dSPedro Giffuni      sDescription += buf;
2424*9ea1301dSPedro Giffuni    }
2425*9ea1301dSPedro Giffuni
2426*9ea1301dSPedro Giffuni--- 2553,2566 ----
2427*9ea1301dSPedro Giffuni
2428*9ea1301dSPedro Giffuni    icUInt32Number i;
2429*9ea1301dSPedro Giffuni    //sDescription.reserve(sDescription.size() + m_nChannels*79);
2430*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Channels : %u\n", m_nChannels);
2431*9ea1301dSPedro Giffuni    sDescription += buf;
2432*9ea1301dSPedro Giffuni
2433*9ea1301dSPedro Giffuni!   sprintf(buf, "Colorant Encoding : %s\n", Fmt.GetColorantEncoding((icColorantEncoding)m_nColorantType));
2434*9ea1301dSPedro Giffuni    sDescription += buf;
2435*9ea1301dSPedro Giffuni
2436*9ea1301dSPedro Giffuni    for (i=0; i<m_nChannels; i++) {
2437*9ea1301dSPedro Giffuni!     sprintf(buf, "value[%u]: x=%.3lf, y=%.3lf\n", i, icUFtoD(m_xy[i].x), icUFtoD(m_xy[i].y));
2438*9ea1301dSPedro Giffuni      sDescription += buf;
2439*9ea1301dSPedro Giffuni    }
2440*9ea1301dSPedro Giffuni
2441*9ea1301dSPedro Giffuni***************
2442*9ea1301dSPedro Giffuni*** 2617,2623 ****
2443*9ea1301dSPedro Giffuni      if (m_nChannels!=3) {
2444*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
2445*9ea1301dSPedro Giffuni        sReport += sSigName;
2446*9ea1301dSPedro Giffuni!       sReport += " - Number of device channels must be three.\r\n";
2447*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
2448*9ea1301dSPedro Giffuni      }
2449*9ea1301dSPedro Giffuni
2450*9ea1301dSPedro Giffuni--- 2617,2623 ----
2451*9ea1301dSPedro Giffuni      if (m_nChannels!=3) {
2452*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
2453*9ea1301dSPedro Giffuni        sReport += sSigName;
2454*9ea1301dSPedro Giffuni!       sReport += " - Number of device channels must be three.\n";
2455*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
2456*9ea1301dSPedro Giffuni      }
2457*9ea1301dSPedro Giffuni
2458*9ea1301dSPedro Giffuni***************
2459*9ea1301dSPedro Giffuni*** 2629,2635 ****
2460*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.150)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.060)) ) {
2461*9ea1301dSPedro Giffuni                  sReport += icValidateNonCompliantMsg;
2462*9ea1301dSPedro Giffuni                  sReport += sSigName;
2463*9ea1301dSPedro Giffuni!                 sReport += " - Chromaticity data does not match specification.\r\n";
2464*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateNonCompliant);
2465*9ea1301dSPedro Giffuni                }
2466*9ea1301dSPedro Giffuni            break;
2467*9ea1301dSPedro Giffuni--- 2629,2635 ----
2468*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.150)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.060)) ) {
2469*9ea1301dSPedro Giffuni                  sReport += icValidateNonCompliantMsg;
2470*9ea1301dSPedro Giffuni                  sReport += sSigName;
2471*9ea1301dSPedro Giffuni!                 sReport += " - Chromaticity data does not match specification.\n";
2472*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateNonCompliant);
2473*9ea1301dSPedro Giffuni                }
2474*9ea1301dSPedro Giffuni            break;
2475*9ea1301dSPedro Giffuni***************
2476*9ea1301dSPedro Giffuni*** 2642,2648 ****
2477*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
2478*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2479*9ea1301dSPedro Giffuni                sReport += sSigName;
2480*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\r\n";
2481*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2482*9ea1301dSPedro Giffuni              }
2483*9ea1301dSPedro Giffuni              break;
2484*9ea1301dSPedro Giffuni--- 2642,2648 ----
2485*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
2486*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2487*9ea1301dSPedro Giffuni                sReport += sSigName;
2488*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\n";
2489*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2490*9ea1301dSPedro Giffuni              }
2491*9ea1301dSPedro Giffuni              break;
2492*9ea1301dSPedro Giffuni***************
2493*9ea1301dSPedro Giffuni*** 2655,2661 ****
2494*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.15)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.06)) ) {
2495*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2496*9ea1301dSPedro Giffuni                sReport += sSigName;
2497*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\r\n";
2498*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2499*9ea1301dSPedro Giffuni              }
2500*9ea1301dSPedro Giffuni              break;
2501*9ea1301dSPedro Giffuni--- 2655,2661 ----
2502*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.15)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.06)) ) {
2503*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2504*9ea1301dSPedro Giffuni                sReport += sSigName;
2505*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\n";
2506*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2507*9ea1301dSPedro Giffuni              }
2508*9ea1301dSPedro Giffuni              break;
2509*9ea1301dSPedro Giffuni***************
2510*9ea1301dSPedro Giffuni*** 2668,2674 ****
2511*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
2512*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2513*9ea1301dSPedro Giffuni                sReport += sSigName;
2514*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\r\n";
2515*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2516*9ea1301dSPedro Giffuni              }
2517*9ea1301dSPedro Giffuni              break;
2518*9ea1301dSPedro Giffuni--- 2668,2674 ----
2519*9ea1301dSPedro Giffuni                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
2520*9ea1301dSPedro Giffuni                sReport += icValidateNonCompliantMsg;
2521*9ea1301dSPedro Giffuni                sReport += sSigName;
2522*9ea1301dSPedro Giffuni!               sReport += " - Chromaticity data does not match specification.\n";
2523*9ea1301dSPedro Giffuni                rv = icMaxStatus(rv, icValidateNonCompliant);
2524*9ea1301dSPedro Giffuni              }
2525*9ea1301dSPedro Giffuni              break;
2526*9ea1301dSPedro Giffuni***************
2527*9ea1301dSPedro Giffuni*** 2678,2684 ****
2528*9ea1301dSPedro Giffuni          {
2529*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
2530*9ea1301dSPedro Giffuni            sReport += sSigName;
2531*9ea1301dSPedro Giffuni!           sReport += " - Invalid colorant type encoding.\r\n";
2532*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
2533*9ea1301dSPedro Giffuni          }
2534*9ea1301dSPedro Giffuni      }
2535*9ea1301dSPedro Giffuni--- 2678,2684 ----
2536*9ea1301dSPedro Giffuni          {
2537*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
2538*9ea1301dSPedro Giffuni            sReport += sSigName;
2539*9ea1301dSPedro Giffuni!           sReport += " - Invalid colorant type encoding.\n";
2540*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
2541*9ea1301dSPedro Giffuni          }
2542*9ea1301dSPedro Giffuni      }
2543*9ea1301dSPedro Giffuni***************
2544*9ea1301dSPedro Giffuni*** 2884,2892 ****
2545*9ea1301dSPedro Giffuni
2546*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2547*9ea1301dSPedro Giffuni      if (Tsig==icSigS15Fixed16ArrayType)
2548*9ea1301dSPedro Giffuni!       sprintf(buf, "Value = %.4lf\r\n", icFtoD(m_Num[0]));
2549*9ea1301dSPedro Giffuni      else
2550*9ea1301dSPedro Giffuni!       sprintf(buf, "Value = %.4lf\r\n", icUFtoD(m_Num[0]));
2551*9ea1301dSPedro Giffuni      sDescription += buf;
2552*9ea1301dSPedro Giffuni    }
2553*9ea1301dSPedro Giffuni    else {
2554*9ea1301dSPedro Giffuni--- 2884,2892 ----
2555*9ea1301dSPedro Giffuni
2556*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2557*9ea1301dSPedro Giffuni      if (Tsig==icSigS15Fixed16ArrayType)
2558*9ea1301dSPedro Giffuni!       sprintf(buf, "Value = %.4lf\n", icFtoD(m_Num[0]));
2559*9ea1301dSPedro Giffuni      else
2560*9ea1301dSPedro Giffuni!       sprintf(buf, "Value = %.4lf\n", icUFtoD(m_Num[0]));
2561*9ea1301dSPedro Giffuni      sDescription += buf;
2562*9ea1301dSPedro Giffuni    }
2563*9ea1301dSPedro Giffuni    else {
2564*9ea1301dSPedro Giffuni***************
2565*9ea1301dSPedro Giffuni*** 2893,2910 ****
2566*9ea1301dSPedro Giffuni      icUInt32Number i;
2567*9ea1301dSPedro Giffuni
2568*9ea1301dSPedro Giffuni      if (Tsig==icSigS15Fixed16ArrayType && m_nSize==9) {
2569*9ea1301dSPedro Giffuni!       sDescription += "Matrix Form:\r\n";
2570*9ea1301dSPedro Giffuni        icMatrixDump(sDescription, (icS15Fixed16Number*)m_Num);
2571*9ea1301dSPedro Giffuni
2572*9ea1301dSPedro Giffuni!       sDescription += "\r\nArrayForm:\r\n";
2573*9ea1301dSPedro Giffuni      }
2574*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2575*9ea1301dSPedro Giffuni
2576*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2577*9ea1301dSPedro Giffuni        if (Tsig==icSigS15Fixed16ArrayType)
2578*9ea1301dSPedro Giffuni!         sprintf(buf, "Value[%u] = %.4lf\r\n", i, icFtoD(m_Num[i]));
2579*9ea1301dSPedro Giffuni        else
2580*9ea1301dSPedro Giffuni!         sprintf(buf, "Value[%u] = %.4lf\r\n", i, icUFtoD(m_Num[i]));
2581*9ea1301dSPedro Giffuni        sDescription += buf;
2582*9ea1301dSPedro Giffuni      }
2583*9ea1301dSPedro Giffuni    }
2584*9ea1301dSPedro Giffuni--- 2893,2910 ----
2585*9ea1301dSPedro Giffuni      icUInt32Number i;
2586*9ea1301dSPedro Giffuni
2587*9ea1301dSPedro Giffuni      if (Tsig==icSigS15Fixed16ArrayType && m_nSize==9) {
2588*9ea1301dSPedro Giffuni!       sDescription += "Matrix Form:\n";
2589*9ea1301dSPedro Giffuni        icMatrixDump(sDescription, (icS15Fixed16Number*)m_Num);
2590*9ea1301dSPedro Giffuni
2591*9ea1301dSPedro Giffuni!       sDescription += "\nArrayForm:\n";
2592*9ea1301dSPedro Giffuni      }
2593*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2594*9ea1301dSPedro Giffuni
2595*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2596*9ea1301dSPedro Giffuni        if (Tsig==icSigS15Fixed16ArrayType)
2597*9ea1301dSPedro Giffuni!         sprintf(buf, "Value[%u] = %.4lf\n", i, icFtoD(m_Num[i]));
2598*9ea1301dSPedro Giffuni        else
2599*9ea1301dSPedro Giffuni!         sprintf(buf, "Value[%u] = %.4lf\n", i, icUFtoD(m_Num[i]));
2600*9ea1301dSPedro Giffuni        sDescription += buf;
2601*9ea1301dSPedro Giffuni      }
2602*9ea1301dSPedro Giffuni    }
2603*9ea1301dSPedro Giffuni***************
2604*9ea1301dSPedro Giffuni*** 3172,3178 ****
2605*9ea1301dSPedro Giffuni    icChar buf[128];
2606*9ea1301dSPedro Giffuni
2607*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2608*9ea1301dSPedro Giffuni!     sprintf(buf, "Value = %u (0x%x)\r\n", m_Num[0], m_Num[0]);
2609*9ea1301dSPedro Giffuni      sDescription += buf;
2610*9ea1301dSPedro Giffuni    }
2611*9ea1301dSPedro Giffuni    else {
2612*9ea1301dSPedro Giffuni--- 3172,3178 ----
2613*9ea1301dSPedro Giffuni    icChar buf[128];
2614*9ea1301dSPedro Giffuni
2615*9ea1301dSPedro Giffuni    if (m_nSize == 1 ) {
2616*9ea1301dSPedro Giffuni!     sprintf(buf, "Value = %u (0x%x)\n", m_Num[0], m_Num[0]);
2617*9ea1301dSPedro Giffuni      sDescription += buf;
2618*9ea1301dSPedro Giffuni    }
2619*9ea1301dSPedro Giffuni    else {
2620*9ea1301dSPedro Giffuni***************
2621*9ea1301dSPedro Giffuni*** 3180,3186 ****
2622*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2623*9ea1301dSPedro Giffuni
2624*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2625*9ea1301dSPedro Giffuni!       sprintf(buf, "Value[%u] = %u (0x%x)\r\n", i, m_Num[i], m_Num[i]);
2626*9ea1301dSPedro Giffuni        sDescription += buf;
2627*9ea1301dSPedro Giffuni      }
2628*9ea1301dSPedro Giffuni    }
2629*9ea1301dSPedro Giffuni--- 3180,3186 ----
2630*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize*79);
2631*9ea1301dSPedro Giffuni
2632*9ea1301dSPedro Giffuni      for (i=0; i<m_nSize; i++) {
2633*9ea1301dSPedro Giffuni!       sprintf(buf, "Value[%u] = %u (0x%x)\n", i, m_Num[i], m_Num[i]);
2634*9ea1301dSPedro Giffuni        sDescription += buf;
2635*9ea1301dSPedro Giffuni      }
2636*9ea1301dSPedro Giffuni    }
2637*9ea1301dSPedro Giffuni***************
2638*9ea1301dSPedro Giffuni*** 3374,3388 ****
2639*9ea1301dSPedro Giffuni    CIccInfo Fmt;
2640*9ea1301dSPedro Giffuni    icChar buf[128];
2641*9ea1301dSPedro Giffuni
2642*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetStandardObserverName(m_Data.stdObserver); sDescription += "\r\n";
2643*9ea1301dSPedro Giffuni!    sprintf(buf, "Backing measurement: X=%.4lf, Y=%.4lf, Z=%.4lf\r\n",
2644*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.X),
2645*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.Y),
2646*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.Z));
2647*9ea1301dSPedro Giffuni     sDescription += buf;
2648*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetMeasurementGeometryName(m_Data.geometry); sDescription += "\r\n";
2649*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetMeasurementFlareName(m_Data.flare); sDescription += "\r\n";
2650*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetIlluminantName(m_Data.illuminant); sDescription += "\r\n";
2651*9ea1301dSPedro Giffuni  }
2652*9ea1301dSPedro Giffuni
2653*9ea1301dSPedro Giffuni
2654*9ea1301dSPedro Giffuni--- 3374,3388 ----
2655*9ea1301dSPedro Giffuni    CIccInfo Fmt;
2656*9ea1301dSPedro Giffuni    icChar buf[128];
2657*9ea1301dSPedro Giffuni
2658*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetStandardObserverName(m_Data.stdObserver); sDescription += "\n";
2659*9ea1301dSPedro Giffuni!    sprintf(buf, "Backing measurement: X=%.4lf, Y=%.4lf, Z=%.4lf\n",
2660*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.X),
2661*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.Y),
2662*9ea1301dSPedro Giffuni             icFtoD(m_Data.backing.Z));
2663*9ea1301dSPedro Giffuni     sDescription += buf;
2664*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetMeasurementGeometryName(m_Data.geometry); sDescription += "\n";
2665*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetMeasurementFlareName(m_Data.flare); sDescription += "\n";
2666*9ea1301dSPedro Giffuni!    sDescription += Fmt.GetIlluminantName(m_Data.illuminant); sDescription += "\n";
2667*9ea1301dSPedro Giffuni  }
2668*9ea1301dSPedro Giffuni
2669*9ea1301dSPedro Giffuni
2670*9ea1301dSPedro Giffuni***************
2671*9ea1301dSPedro Giffuni*** 3416,3422 ****
2672*9ea1301dSPedro Giffuni    default:
2673*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2674*9ea1301dSPedro Giffuni      sReport += sSigName;
2675*9ea1301dSPedro Giffuni!     sReport += " - Invalid standard observer encoding.\r\n";
2676*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2677*9ea1301dSPedro Giffuni    }
2678*9ea1301dSPedro Giffuni
2679*9ea1301dSPedro Giffuni--- 3416,3422 ----
2680*9ea1301dSPedro Giffuni    default:
2681*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2682*9ea1301dSPedro Giffuni      sReport += sSigName;
2683*9ea1301dSPedro Giffuni!     sReport += " - Invalid standard observer encoding.\n";
2684*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2685*9ea1301dSPedro Giffuni    }
2686*9ea1301dSPedro Giffuni
2687*9ea1301dSPedro Giffuni***************
2688*9ea1301dSPedro Giffuni*** 3429,3435 ****
2689*9ea1301dSPedro Giffuni    default:
2690*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2691*9ea1301dSPedro Giffuni      sReport += sSigName;
2692*9ea1301dSPedro Giffuni!     sReport += " - Invalid measurement geometry encoding.\r\n";
2693*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2694*9ea1301dSPedro Giffuni    }
2695*9ea1301dSPedro Giffuni
2696*9ea1301dSPedro Giffuni--- 3429,3435 ----
2697*9ea1301dSPedro Giffuni    default:
2698*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2699*9ea1301dSPedro Giffuni      sReport += sSigName;
2700*9ea1301dSPedro Giffuni!     sReport += " - Invalid measurement geometry encoding.\n";
2701*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2702*9ea1301dSPedro Giffuni    }
2703*9ea1301dSPedro Giffuni
2704*9ea1301dSPedro Giffuni***************
2705*9ea1301dSPedro Giffuni*** 3448,3454 ****
2706*9ea1301dSPedro Giffuni    default:
2707*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2708*9ea1301dSPedro Giffuni      sReport += sSigName;
2709*9ea1301dSPedro Giffuni!     sReport += " - Invalid standard illuminant encoding.\r\n";
2710*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2711*9ea1301dSPedro Giffuni    }
2712*9ea1301dSPedro Giffuni
2713*9ea1301dSPedro Giffuni--- 3448,3454 ----
2714*9ea1301dSPedro Giffuni    default:
2715*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2716*9ea1301dSPedro Giffuni      sReport += sSigName;
2717*9ea1301dSPedro Giffuni!     sReport += " - Invalid standard illuminant encoding.\n";
2718*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2719*9ea1301dSPedro Giffuni    }
2720*9ea1301dSPedro Giffuni
2721*9ea1301dSPedro Giffuni***************
2722*9ea1301dSPedro Giffuni*** 3902,3910 ****
2723*9ea1301dSPedro Giffuni
2724*9ea1301dSPedro Giffuni    for (i=m_Strings->begin(); i!=m_Strings->end(); i++) {
2725*9ea1301dSPedro Giffuni      if (i!=m_Strings->begin())
2726*9ea1301dSPedro Giffuni!       sDescription += "\r\n";
2727*9ea1301dSPedro Giffuni
2728*9ea1301dSPedro Giffuni!     sprintf(szBuf, "Language = '%c%c', Region = '%c%c'\r\n",
2729*9ea1301dSPedro Giffuni        i->m_nLanguageCode>>8, i->m_nLanguageCode,
2730*9ea1301dSPedro Giffuni        i->m_nCountryCode>>8, i->m_nCountryCode);
2731*9ea1301dSPedro Giffuni
2732*9ea1301dSPedro Giffuni--- 3902,3910 ----
2733*9ea1301dSPedro Giffuni
2734*9ea1301dSPedro Giffuni    for (i=m_Strings->begin(); i!=m_Strings->end(); i++) {
2735*9ea1301dSPedro Giffuni      if (i!=m_Strings->begin())
2736*9ea1301dSPedro Giffuni!       sDescription += "\n";
2737*9ea1301dSPedro Giffuni
2738*9ea1301dSPedro Giffuni!     sprintf(szBuf, "Language = '%c%c', Region = '%c%c'\n",
2739*9ea1301dSPedro Giffuni        i->m_nLanguageCode>>8, i->m_nLanguageCode,
2740*9ea1301dSPedro Giffuni        i->m_nCountryCode>>8, i->m_nCountryCode);
2741*9ea1301dSPedro Giffuni
2742*9ea1301dSPedro Giffuni***************
2743*9ea1301dSPedro Giffuni*** 3919,3925 ****
2744*9ea1301dSPedro Giffuni      i->GetAnsi(szBuf, nSize);
2745*9ea1301dSPedro Giffuni      sDescription += "\"";
2746*9ea1301dSPedro Giffuni      sDescription += szBuf;
2747*9ea1301dSPedro Giffuni!     sDescription += "\"\r\n";
2748*9ea1301dSPedro Giffuni    }
2749*9ea1301dSPedro Giffuni  }
2750*9ea1301dSPedro Giffuni
2751*9ea1301dSPedro Giffuni--- 3919,3925 ----
2752*9ea1301dSPedro Giffuni      i->GetAnsi(szBuf, nSize);
2753*9ea1301dSPedro Giffuni      sDescription += "\"";
2754*9ea1301dSPedro Giffuni      sDescription += szBuf;
2755*9ea1301dSPedro Giffuni!     sDescription += "\"\n";
2756*9ea1301dSPedro Giffuni    }
2757*9ea1301dSPedro Giffuni  }
2758*9ea1301dSPedro Giffuni
2759*9ea1301dSPedro Giffuni***************
2760*9ea1301dSPedro Giffuni*** 3948,3954 ****
2761*9ea1301dSPedro Giffuni    if (!m_Strings->size()) {
2762*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2763*9ea1301dSPedro Giffuni      sReport += sSigName;
2764*9ea1301dSPedro Giffuni!     sReport += " - Empty tag!\r\n";
2765*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2766*9ea1301dSPedro Giffuni    }
2767*9ea1301dSPedro Giffuni
2768*9ea1301dSPedro Giffuni--- 3948,3954 ----
2769*9ea1301dSPedro Giffuni    if (!m_Strings->size()) {
2770*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2771*9ea1301dSPedro Giffuni      sReport += sSigName;
2772*9ea1301dSPedro Giffuni!     sReport += " - Empty tag!\n";
2773*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2774*9ea1301dSPedro Giffuni    }
2775*9ea1301dSPedro Giffuni
2776*9ea1301dSPedro Giffuni***************
2777*9ea1301dSPedro Giffuni*** 4246,4260 ****
2778*9ea1301dSPedro Giffuni  {
2779*9ea1301dSPedro Giffuni    icChar buf[128];
2780*9ea1301dSPedro Giffuni
2781*9ea1301dSPedro Giffuni!   sDescription = "\r\nData:\r\n";
2782*9ea1301dSPedro Giffuni
2783*9ea1301dSPedro Giffuni    if (IsTypeAscii()) {
2784*9ea1301dSPedro Giffuni!       sprintf(buf, "%s\r\n", (icChar*)m_pData);
2785*9ea1301dSPedro Giffuni        sDescription += buf;
2786*9ea1301dSPedro Giffuni    }
2787*9ea1301dSPedro Giffuni    else
2788*9ea1301dSPedro Giffuni      for (int i = 0; i<(int)m_nSize; i++) {
2789*9ea1301dSPedro Giffuni!       sprintf(buf, "%d\r\n", m_pData[i]);
2790*9ea1301dSPedro Giffuni        sDescription += buf;
2791*9ea1301dSPedro Giffuni      }
2792*9ea1301dSPedro Giffuni
2793*9ea1301dSPedro Giffuni--- 4246,4260 ----
2794*9ea1301dSPedro Giffuni  {
2795*9ea1301dSPedro Giffuni    icChar buf[128];
2796*9ea1301dSPedro Giffuni
2797*9ea1301dSPedro Giffuni!   sDescription = "\nData:\n";
2798*9ea1301dSPedro Giffuni
2799*9ea1301dSPedro Giffuni    if (IsTypeAscii()) {
2800*9ea1301dSPedro Giffuni!       sprintf(buf, "%s\n", (icChar*)m_pData);
2801*9ea1301dSPedro Giffuni        sDescription += buf;
2802*9ea1301dSPedro Giffuni    }
2803*9ea1301dSPedro Giffuni    else
2804*9ea1301dSPedro Giffuni      for (int i = 0; i<(int)m_nSize; i++) {
2805*9ea1301dSPedro Giffuni!       sprintf(buf, "%d\n", m_pData[i]);
2806*9ea1301dSPedro Giffuni        sDescription += buf;
2807*9ea1301dSPedro Giffuni      }
2808*9ea1301dSPedro Giffuni
2809*9ea1301dSPedro Giffuni***************
2810*9ea1301dSPedro Giffuni*** 4312,4318 ****
2811*9ea1301dSPedro Giffuni    default:
2812*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2813*9ea1301dSPedro Giffuni      sReport += sSigName;
2814*9ea1301dSPedro Giffuni!     sReport += " - Invalid data flag encoding.\r\n";
2815*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2816*9ea1301dSPedro Giffuni    }
2817*9ea1301dSPedro Giffuni
2818*9ea1301dSPedro Giffuni--- 4312,4318 ----
2819*9ea1301dSPedro Giffuni    default:
2820*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2821*9ea1301dSPedro Giffuni      sReport += sSigName;
2822*9ea1301dSPedro Giffuni!     sReport += " - Invalid data flag encoding.\n";
2823*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2824*9ea1301dSPedro Giffuni    }
2825*9ea1301dSPedro Giffuni
2826*9ea1301dSPedro Giffuni***************
2827*9ea1301dSPedro Giffuni*** 4477,4487 ****
2828*9ea1301dSPedro Giffuni    icChar buf[128];
2829*9ea1301dSPedro Giffuni
2830*9ea1301dSPedro Giffuni    sDescription = "Date = ";
2831*9ea1301dSPedro Giffuni!   sprintf(buf, "%u-%u-%u\r\n", m_DateTime.month, m_DateTime.day, m_DateTime.year);
2832*9ea1301dSPedro Giffuni    sDescription += buf;
2833*9ea1301dSPedro Giffuni
2834*9ea1301dSPedro Giffuni    sDescription += "Time = ";
2835*9ea1301dSPedro Giffuni!   sprintf(buf, "%u:%u:%u\r\n", m_DateTime.hours, m_DateTime.minutes, m_DateTime.seconds);
2836*9ea1301dSPedro Giffuni    sDescription += buf;
2837*9ea1301dSPedro Giffuni  }
2838*9ea1301dSPedro Giffuni
2839*9ea1301dSPedro Giffuni--- 4477,4487 ----
2840*9ea1301dSPedro Giffuni    icChar buf[128];
2841*9ea1301dSPedro Giffuni
2842*9ea1301dSPedro Giffuni    sDescription = "Date = ";
2843*9ea1301dSPedro Giffuni!   sprintf(buf, "%u-%u-%u\n", m_DateTime.month, m_DateTime.day, m_DateTime.year);
2844*9ea1301dSPedro Giffuni    sDescription += buf;
2845*9ea1301dSPedro Giffuni
2846*9ea1301dSPedro Giffuni    sDescription += "Time = ";
2847*9ea1301dSPedro Giffuni!   sprintf(buf, "%u:%u:%u\n", m_DateTime.hours, m_DateTime.minutes, m_DateTime.seconds);
2848*9ea1301dSPedro Giffuni    sDescription += buf;
2849*9ea1301dSPedro Giffuni  }
2850*9ea1301dSPedro Giffuni
2851*9ea1301dSPedro Giffuni***************
2852*9ea1301dSPedro Giffuni*** 4697,4708 ****
2853*9ea1301dSPedro Giffuni  {
2854*9ea1301dSPedro Giffuni    icChar buf[128];
2855*9ea1301dSPedro Giffuni
2856*9ea1301dSPedro Giffuni!   sprintf(buf, "Colorant Count : %u\r\n", m_nCount);
2857*9ea1301dSPedro Giffuni    sDescription += buf;
2858*9ea1301dSPedro Giffuni!   sDescription += "Order of Colorants:\r\n";
2859*9ea1301dSPedro Giffuni
2860*9ea1301dSPedro Giffuni    for (int i=0; i<(int)m_nCount; i++) {
2861*9ea1301dSPedro Giffuni!     sprintf(buf, "%u\r\n", m_pData[i]);
2862*9ea1301dSPedro Giffuni      sDescription += buf;
2863*9ea1301dSPedro Giffuni    }
2864*9ea1301dSPedro Giffuni  }
2865*9ea1301dSPedro Giffuni--- 4697,4708 ----
2866*9ea1301dSPedro Giffuni  {
2867*9ea1301dSPedro Giffuni    icChar buf[128];
2868*9ea1301dSPedro Giffuni
2869*9ea1301dSPedro Giffuni!   sprintf(buf, "Colorant Count : %u\n", m_nCount);
2870*9ea1301dSPedro Giffuni    sDescription += buf;
2871*9ea1301dSPedro Giffuni!   sDescription += "Order of Colorants:\n";
2872*9ea1301dSPedro Giffuni
2873*9ea1301dSPedro Giffuni    for (int i=0; i<(int)m_nCount; i++) {
2874*9ea1301dSPedro Giffuni!     sprintf(buf, "%u\n", m_pData[i]);
2875*9ea1301dSPedro Giffuni      sDescription += buf;
2876*9ea1301dSPedro Giffuni    }
2877*9ea1301dSPedro Giffuni  }
2878*9ea1301dSPedro Giffuni***************
2879*9ea1301dSPedro Giffuni*** 4757,4763 ****
2880*9ea1301dSPedro Giffuni    if (!pProfile) {
2881*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2882*9ea1301dSPedro Giffuni      sReport += sSigName;
2883*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
2884*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2885*9ea1301dSPedro Giffuni      return rv;
2886*9ea1301dSPedro Giffuni    }
2887*9ea1301dSPedro Giffuni--- 4757,4763 ----
2888*9ea1301dSPedro Giffuni    if (!pProfile) {
2889*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2890*9ea1301dSPedro Giffuni      sReport += sSigName;
2891*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
2892*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2893*9ea1301dSPedro Giffuni      return rv;
2894*9ea1301dSPedro Giffuni    }
2895*9ea1301dSPedro Giffuni***************
2896*9ea1301dSPedro Giffuni*** 4765,4771 ****
2897*9ea1301dSPedro Giffuni    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
2898*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2899*9ea1301dSPedro Giffuni      sReport += sSigName;
2900*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of colorants.\r\n";
2901*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2902*9ea1301dSPedro Giffuni    }
2903*9ea1301dSPedro Giffuni
2904*9ea1301dSPedro Giffuni--- 4765,4771 ----
2905*9ea1301dSPedro Giffuni    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
2906*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
2907*9ea1301dSPedro Giffuni      sReport += sSigName;
2908*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of colorants.\n";
2909*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
2910*9ea1301dSPedro Giffuni    }
2911*9ea1301dSPedro Giffuni
2912*9ea1301dSPedro Giffuni***************
2913*9ea1301dSPedro Giffuni*** 4977,4983 ****
2914*9ea1301dSPedro Giffuni    icUInt32Number i, nLen, nMaxLen=0;
2915*9ea1301dSPedro Giffuni    icFloatNumber Lab[3];
2916*9ea1301dSPedro Giffuni
2917*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_COLORANTS %u\r\n", m_nCount);
2918*9ea1301dSPedro Giffuni    sDescription += buf;
2919*9ea1301dSPedro Giffuni
2920*9ea1301dSPedro Giffuni    for (i=0; i<m_nCount; i++) {
2921*9ea1301dSPedro Giffuni--- 4977,4983 ----
2922*9ea1301dSPedro Giffuni    icUInt32Number i, nLen, nMaxLen=0;
2923*9ea1301dSPedro Giffuni    icFloatNumber Lab[3];
2924*9ea1301dSPedro Giffuni
2925*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_COLORANTS %u\n", m_nCount);
2926*9ea1301dSPedro Giffuni    sDescription += buf;
2927*9ea1301dSPedro Giffuni
2928*9ea1301dSPedro Giffuni    for (i=0; i<m_nCount; i++) {
2929*9ea1301dSPedro Giffuni***************
2930*9ea1301dSPedro Giffuni*** 4988,4998 ****
2931*9ea1301dSPedro Giffuni    sDescription += "# NAME ";
2932*9ea1301dSPedro Giffuni
2933*9ea1301dSPedro Giffuni    if (m_PCS == icSigXYZData) {
2934*9ea1301dSPedro Giffuni!     sprintf(buf, "XYZ_X XYZ_Y XYZ_Z\r\n");
2935*9ea1301dSPedro Giffuni      sDescription += buf;
2936*9ea1301dSPedro Giffuni    }
2937*9ea1301dSPedro Giffuni    else {
2938*9ea1301dSPedro Giffuni!     sprintf(buf, "Lab_L Lab_a Lab_b\r\n");
2939*9ea1301dSPedro Giffuni      sDescription += buf;
2940*9ea1301dSPedro Giffuni    }
2941*9ea1301dSPedro Giffuni    for (i=0; i<m_nCount; i++) {
2942*9ea1301dSPedro Giffuni--- 4988,4998 ----
2943*9ea1301dSPedro Giffuni    sDescription += "# NAME ";
2944*9ea1301dSPedro Giffuni
2945*9ea1301dSPedro Giffuni    if (m_PCS == icSigXYZData) {
2946*9ea1301dSPedro Giffuni!     sprintf(buf, "XYZ_X XYZ_Y XYZ_Z\n");
2947*9ea1301dSPedro Giffuni      sDescription += buf;
2948*9ea1301dSPedro Giffuni    }
2949*9ea1301dSPedro Giffuni    else {
2950*9ea1301dSPedro Giffuni!     sprintf(buf, "Lab_L Lab_a Lab_b\n");
2951*9ea1301dSPedro Giffuni      sDescription += buf;
2952*9ea1301dSPedro Giffuni    }
2953*9ea1301dSPedro Giffuni    for (i=0; i<m_nCount; i++) {
2954*9ea1301dSPedro Giffuni***************
2955*9ea1301dSPedro Giffuni*** 5003,5009 ****
2956*9ea1301dSPedro Giffuni      sDescription += buf;
2957*9ea1301dSPedro Giffuni
2958*9ea1301dSPedro Giffuni      if (m_PCS == icSigXYZData) {
2959*9ea1301dSPedro Giffuni!       sprintf(buf, "%7.4lf %7.4lf %7.4lf\r\n", icUSFtoD(m_pData[i].data[0]), icUSFtoD(m_pData[i].data[1]), icUSFtoD(m_pData[i].data[2]));
2960*9ea1301dSPedro Giffuni        sDescription += buf;
2961*9ea1301dSPedro Giffuni      }
2962*9ea1301dSPedro Giffuni      else {
2963*9ea1301dSPedro Giffuni--- 5003,5009 ----
2964*9ea1301dSPedro Giffuni      sDescription += buf;
2965*9ea1301dSPedro Giffuni
2966*9ea1301dSPedro Giffuni      if (m_PCS == icSigXYZData) {
2967*9ea1301dSPedro Giffuni!       sprintf(buf, "%7.4lf %7.4lf %7.4lf\n", icUSFtoD(m_pData[i].data[0]), icUSFtoD(m_pData[i].data[1]), icUSFtoD(m_pData[i].data[2]));
2968*9ea1301dSPedro Giffuni        sDescription += buf;
2969*9ea1301dSPedro Giffuni      }
2970*9ea1301dSPedro Giffuni      else {
2971*9ea1301dSPedro Giffuni***************
2972*9ea1301dSPedro Giffuni*** 5011,5017 ****
2973*9ea1301dSPedro Giffuni        Lab[1] = icU16toF(m_pData[i].data[1]);
2974*9ea1301dSPedro Giffuni        Lab[2] = icU16toF(m_pData[i].data[2]);
2975*9ea1301dSPedro Giffuni        icLabFromPcs(Lab);
2976*9ea1301dSPedro Giffuni!       sprintf(buf, "%7.4lf %8.4lf %8.4lf\r\n", Lab[0], Lab[1], Lab[2]);
2977*9ea1301dSPedro Giffuni        sDescription += buf;
2978*9ea1301dSPedro Giffuni      }
2979*9ea1301dSPedro Giffuni    }
2980*9ea1301dSPedro Giffuni--- 5011,5017 ----
2981*9ea1301dSPedro Giffuni        Lab[1] = icU16toF(m_pData[i].data[1]);
2982*9ea1301dSPedro Giffuni        Lab[2] = icU16toF(m_pData[i].data[2]);
2983*9ea1301dSPedro Giffuni        icLabFromPcs(Lab);
2984*9ea1301dSPedro Giffuni!       sprintf(buf, "%7.4lf %8.4lf %8.4lf\n", Lab[0], Lab[1], Lab[2]);
2985*9ea1301dSPedro Giffuni        sDescription += buf;
2986*9ea1301dSPedro Giffuni      }
2987*9ea1301dSPedro Giffuni    }
2988*9ea1301dSPedro Giffuni***************
2989*9ea1301dSPedro Giffuni*** 5066,5072 ****
2990*9ea1301dSPedro Giffuni    if (!pProfile) {
2991*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
2992*9ea1301dSPedro Giffuni      sReport += sSigName;
2993*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
2994*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
2995*9ea1301dSPedro Giffuni      return rv;
2996*9ea1301dSPedro Giffuni    }
2997*9ea1301dSPedro Giffuni--- 5066,5072 ----
2998*9ea1301dSPedro Giffuni    if (!pProfile) {
2999*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3000*9ea1301dSPedro Giffuni      sReport += sSigName;
3001*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
3002*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
3003*9ea1301dSPedro Giffuni      return rv;
3004*9ea1301dSPedro Giffuni    }
3005*9ea1301dSPedro Giffuni***************
3006*9ea1301dSPedro Giffuni*** 5076,5082 ****
3007*9ea1301dSPedro Giffuni      if (pProfile->m_Header.deviceClass!=icSigLinkClass) {
3008*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3009*9ea1301dSPedro Giffuni        sReport += sSigName;
3010*9ea1301dSPedro Giffuni!       sReport += " - Use of this tag is allowed only in DeviceLink Profiles.\r\n";
3011*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3012*9ea1301dSPedro Giffuni      }
3013*9ea1301dSPedro Giffuni    }
3014*9ea1301dSPedro Giffuni--- 5076,5082 ----
3015*9ea1301dSPedro Giffuni      if (pProfile->m_Header.deviceClass!=icSigLinkClass) {
3016*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3017*9ea1301dSPedro Giffuni        sReport += sSigName;
3018*9ea1301dSPedro Giffuni!       sReport += " - Use of this tag is allowed only in DeviceLink Profiles.\n";
3019*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3020*9ea1301dSPedro Giffuni      }
3021*9ea1301dSPedro Giffuni    }
3022*9ea1301dSPedro Giffuni***************
3023*9ea1301dSPedro Giffuni*** 5084,5090 ****
3024*9ea1301dSPedro Giffuni    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
3025*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3026*9ea1301dSPedro Giffuni      sReport += sSigName;
3027*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of colorants.\r\n";
3028*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3029*9ea1301dSPedro Giffuni    }
3030*9ea1301dSPedro Giffuni
3031*9ea1301dSPedro Giffuni--- 5084,5090 ----
3032*9ea1301dSPedro Giffuni    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
3033*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3034*9ea1301dSPedro Giffuni      sReport += sSigName;
3035*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of colorants.\n";
3036*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3037*9ea1301dSPedro Giffuni    }
3038*9ea1301dSPedro Giffuni
3039*9ea1301dSPedro Giffuni***************
3040*9ea1301dSPedro Giffuni*** 5261,5273 ****
3041*9ea1301dSPedro Giffuni    icChar buf[128];
3042*9ea1301dSPedro Giffuni    CIccInfo Fmt;
3043*9ea1301dSPedro Giffuni
3044*9ea1301dSPedro Giffuni!   sprintf(buf, "Illuminant Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\r\n",
3045*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.X),
3046*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.Y),
3047*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.Z));
3048*9ea1301dSPedro Giffuni    sDescription += buf;
3049*9ea1301dSPedro Giffuni
3050*9ea1301dSPedro Giffuni!   sprintf(buf, "Surround Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\r\n",
3051*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.X),
3052*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.Y),
3053*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.Z));
3054*9ea1301dSPedro Giffuni--- 5261,5273 ----
3055*9ea1301dSPedro Giffuni    icChar buf[128];
3056*9ea1301dSPedro Giffuni    CIccInfo Fmt;
3057*9ea1301dSPedro Giffuni
3058*9ea1301dSPedro Giffuni!   sprintf(buf, "Illuminant Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n",
3059*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.X),
3060*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.Y),
3061*9ea1301dSPedro Giffuni                 icFtoD(m_XYZIllum.Z));
3062*9ea1301dSPedro Giffuni    sDescription += buf;
3063*9ea1301dSPedro Giffuni
3064*9ea1301dSPedro Giffuni!   sprintf(buf, "Surround Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n",
3065*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.X),
3066*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.Y),
3067*9ea1301dSPedro Giffuni                 icFtoD(m_XYZSurround.Z));
3068*9ea1301dSPedro Giffuni***************
3069*9ea1301dSPedro Giffuni*** 5276,5282 ****
3070*9ea1301dSPedro Giffuni    sDescription += "Illuminant Type: ";
3071*9ea1301dSPedro Giffuni
3072*9ea1301dSPedro Giffuni    sDescription += Fmt.GetIlluminantName(m_illumType);
3073*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3074*9ea1301dSPedro Giffuni
3075*9ea1301dSPedro Giffuni  }
3076*9ea1301dSPedro Giffuni
3077*9ea1301dSPedro Giffuni--- 5276,5282 ----
3078*9ea1301dSPedro Giffuni    sDescription += "Illuminant Type: ";
3079*9ea1301dSPedro Giffuni
3080*9ea1301dSPedro Giffuni    sDescription += Fmt.GetIlluminantName(m_illumType);
3081*9ea1301dSPedro Giffuni!   sDescription += "\n";
3082*9ea1301dSPedro Giffuni
3083*9ea1301dSPedro Giffuni  }
3084*9ea1301dSPedro Giffuni
3085*9ea1301dSPedro Giffuni***************
3086*9ea1301dSPedro Giffuni*** 5800,5831 ****
3087*9ea1301dSPedro Giffuni    icChar buf[128], buf2[28];
3088*9ea1301dSPedro Giffuni    icUInt32Number count=0;
3089*9ea1301dSPedro Giffuni
3090*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Profile Description Structures: %u\r\n", m_Descriptions->size());
3091*9ea1301dSPedro Giffuni    sDescription += buf;
3092*9ea1301dSPedro Giffuni
3093*9ea1301dSPedro Giffuni    for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
3094*9ea1301dSPedro Giffuni!     sDescription += "\r\n";
3095*9ea1301dSPedro Giffuni
3096*9ea1301dSPedro Giffuni!     sprintf(buf, "Profile Description Structure Number [%u] follows:\r\n", count+1);
3097*9ea1301dSPedro Giffuni      sDescription += buf;
3098*9ea1301dSPedro Giffuni
3099*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Manufacturer Signature: %s\r\n", icGetSig(buf2, i->m_deviceMfg, false));
3100*9ea1301dSPedro Giffuni      sDescription += buf;
3101*9ea1301dSPedro Giffuni
3102*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Model Signature: %s\r\n", icGetSig(buf2, i->m_deviceModel, false));
3103*9ea1301dSPedro Giffuni      sDescription += buf;
3104*9ea1301dSPedro Giffuni
3105*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Attributes: %08x%08x\r\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
3106*9ea1301dSPedro Giffuni      sDescription += buf;
3107*9ea1301dSPedro Giffuni
3108*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Technology Signature: %s\r\n", icGetSig(buf2, i->m_technology, false));
3109*9ea1301dSPedro Giffuni      sDescription += buf;
3110*9ea1301dSPedro Giffuni
3111*9ea1301dSPedro Giffuni!     sprintf(buf, "Description of device manufacturer: \r\n");
3112*9ea1301dSPedro Giffuni      sDescription += buf;
3113*9ea1301dSPedro Giffuni      i->m_deviceMfgDesc.Describe(sDescription);
3114*9ea1301dSPedro Giffuni
3115*9ea1301dSPedro Giffuni!     sprintf(buf, "Description of device model: \r\n");
3116*9ea1301dSPedro Giffuni      sDescription += buf;
3117*9ea1301dSPedro Giffuni      i->m_deviceModelDesc.Describe(sDescription);
3118*9ea1301dSPedro Giffuni    }
3119*9ea1301dSPedro Giffuni--- 5800,5831 ----
3120*9ea1301dSPedro Giffuni    icChar buf[128], buf2[28];
3121*9ea1301dSPedro Giffuni    icUInt32Number count=0;
3122*9ea1301dSPedro Giffuni
3123*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Profile Description Structures: %u\n", m_Descriptions->size());
3124*9ea1301dSPedro Giffuni    sDescription += buf;
3125*9ea1301dSPedro Giffuni
3126*9ea1301dSPedro Giffuni    for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
3127*9ea1301dSPedro Giffuni!     sDescription += "\n";
3128*9ea1301dSPedro Giffuni
3129*9ea1301dSPedro Giffuni!     sprintf(buf, "Profile Description Structure Number [%u] follows:\n", count+1);
3130*9ea1301dSPedro Giffuni      sDescription += buf;
3131*9ea1301dSPedro Giffuni
3132*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Manufacturer Signature: %s\n", icGetSig(buf2, i->m_deviceMfg, false));
3133*9ea1301dSPedro Giffuni      sDescription += buf;
3134*9ea1301dSPedro Giffuni
3135*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Model Signature: %s\n", icGetSig(buf2, i->m_deviceModel, false));
3136*9ea1301dSPedro Giffuni      sDescription += buf;
3137*9ea1301dSPedro Giffuni
3138*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Attributes: %08x%08x\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
3139*9ea1301dSPedro Giffuni      sDescription += buf;
3140*9ea1301dSPedro Giffuni
3141*9ea1301dSPedro Giffuni!     sprintf(buf, "Device Technology Signature: %s\n", icGetSig(buf2, i->m_technology, false));
3142*9ea1301dSPedro Giffuni      sDescription += buf;
3143*9ea1301dSPedro Giffuni
3144*9ea1301dSPedro Giffuni!     sprintf(buf, "Description of device manufacturer: \n");
3145*9ea1301dSPedro Giffuni      sDescription += buf;
3146*9ea1301dSPedro Giffuni      i->m_deviceMfgDesc.Describe(sDescription);
3147*9ea1301dSPedro Giffuni
3148*9ea1301dSPedro Giffuni!     sprintf(buf, "Description of device model: \n");
3149*9ea1301dSPedro Giffuni      sDescription += buf;
3150*9ea1301dSPedro Giffuni      i->m_deviceModelDesc.Describe(sDescription);
3151*9ea1301dSPedro Giffuni    }
3152*9ea1301dSPedro Giffuni***************
3153*9ea1301dSPedro Giffuni*** 5886,5892 ****
3154*9ea1301dSPedro Giffuni        {
3155*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
3156*9ea1301dSPedro Giffuni          sReport += sSigName;
3157*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Technology.\r\n", Info.GetSigName(i->m_technology));
3158*9ea1301dSPedro Giffuni          sReport += buf;
3159*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
3160*9ea1301dSPedro Giffuni        }
3161*9ea1301dSPedro Giffuni--- 5886,5892 ----
3162*9ea1301dSPedro Giffuni        {
3163*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
3164*9ea1301dSPedro Giffuni          sReport += sSigName;
3165*9ea1301dSPedro Giffuni!         sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(i->m_technology));
3166*9ea1301dSPedro Giffuni          sReport += buf;
3167*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateNonCompliant);
3168*9ea1301dSPedro Giffuni        }
3169*9ea1301dSPedro Giffuni***************
3170*9ea1301dSPedro Giffuni*** 5896,5902 ****
3171*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3172*9ea1301dSPedro Giffuni        sReport += sSigName;
3173*9ea1301dSPedro Giffuni
3174*9ea1301dSPedro Giffuni!       sReport += " Contains non-aligned deviceMfgDesc text tag information\r\n";
3175*9ea1301dSPedro Giffuni
3176*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3177*9ea1301dSPedro Giffuni      }
3178*9ea1301dSPedro Giffuni--- 5896,5902 ----
3179*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3180*9ea1301dSPedro Giffuni        sReport += sSigName;
3181*9ea1301dSPedro Giffuni
3182*9ea1301dSPedro Giffuni!       sReport += " Contains non-aligned deviceMfgDesc text tag information\n";
3183*9ea1301dSPedro Giffuni
3184*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3185*9ea1301dSPedro Giffuni      }
3186*9ea1301dSPedro Giffuni***************
3187*9ea1301dSPedro Giffuni*** 5905,5911 ****
3188*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3189*9ea1301dSPedro Giffuni        sReport += sSigName;
3190*9ea1301dSPedro Giffuni
3191*9ea1301dSPedro Giffuni!       sReport += " Contains non-aligned deviceModelDesc text tag information\r\n";
3192*9ea1301dSPedro Giffuni
3193*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3194*9ea1301dSPedro Giffuni      }
3195*9ea1301dSPedro Giffuni--- 5905,5911 ----
3196*9ea1301dSPedro Giffuni        sReport += icValidateNonCompliantMsg;
3197*9ea1301dSPedro Giffuni        sReport += sSigName;
3198*9ea1301dSPedro Giffuni
3199*9ea1301dSPedro Giffuni!       sReport += " Contains non-aligned deviceModelDesc text tag information\n";
3200*9ea1301dSPedro Giffuni
3201*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateNonCompliant);
3202*9ea1301dSPedro Giffuni      }
3203*9ea1301dSPedro Giffuni***************
3204*9ea1301dSPedro Giffuni*** 6174,6198 ****
3205*9ea1301dSPedro Giffuni    CIccResponse16List::iterator j;
3206*9ea1301dSPedro Giffuni
3207*9ea1301dSPedro Giffuni    sDescription += "Measurement Unit: ";
3208*9ea1301dSPedro Giffuni!   sDescription += Fmt.GetMeasurementUnit((icSignature)GetMeasurementType()); sDescription += "\r\n";
3209*9ea1301dSPedro Giffuni
3210*9ea1301dSPedro Giffuni
3211*9ea1301dSPedro Giffuni    for (int i=0; i<m_nChannels; i++) {
3212*9ea1301dSPedro Giffuni      nResponseList = m_Response16ListArray[i];
3213*9ea1301dSPedro Giffuni
3214*9ea1301dSPedro Giffuni!     sDescription += "\r\n";
3215*9ea1301dSPedro Giffuni!     sprintf(buf, "Maximum Colorant XYZ Measurement for Channel-%u : X=%.4lf, Y=%.4lf, Z=%.4lf\r\n", i+1,
3216*9ea1301dSPedro Giffuni        icFtoD(m_maxColorantXYZ[i].X), icFtoD(m_maxColorantXYZ[i].Y), icFtoD(m_maxColorantXYZ[i].Z));
3217*9ea1301dSPedro Giffuni      sDescription += buf;
3218*9ea1301dSPedro Giffuni
3219*9ea1301dSPedro Giffuni!     sprintf(buf, "Number of Measurements for Channel-%u : %u\r\n", i+1, nResponseList.size());
3220*9ea1301dSPedro Giffuni      sDescription += buf;
3221*9ea1301dSPedro Giffuni
3222*9ea1301dSPedro Giffuni!     sprintf(buf, "Measurement Data for Channel-%u follows:\r\n", i+1);
3223*9ea1301dSPedro Giffuni      sDescription += buf;
3224*9ea1301dSPedro Giffuni
3225*9ea1301dSPedro Giffuni      for (j=nResponseList.begin(); j!=nResponseList.end(); j++) {
3226*9ea1301dSPedro Giffuni!       sprintf(buf, "Device Value= %u : Measurement Value= %.4lf\r\n", j->deviceCode, icFtoD(j->measurementValue));
3227*9ea1301dSPedro Giffuni        sDescription += buf;
3228*9ea1301dSPedro Giffuni      }
3229*9ea1301dSPedro Giffuni    }
3230*9ea1301dSPedro Giffuni--- 6174,6198 ----
3231*9ea1301dSPedro Giffuni    CIccResponse16List::iterator j;
3232*9ea1301dSPedro Giffuni
3233*9ea1301dSPedro Giffuni    sDescription += "Measurement Unit: ";
3234*9ea1301dSPedro Giffuni!   sDescription += Fmt.GetMeasurementUnit((icSignature)GetMeasurementType()); sDescription += "\n";
3235*9ea1301dSPedro Giffuni
3236*9ea1301dSPedro Giffuni
3237*9ea1301dSPedro Giffuni    for (int i=0; i<m_nChannels; i++) {
3238*9ea1301dSPedro Giffuni      nResponseList = m_Response16ListArray[i];
3239*9ea1301dSPedro Giffuni
3240*9ea1301dSPedro Giffuni!     sDescription += "\n";
3241*9ea1301dSPedro Giffuni!     sprintf(buf, "Maximum Colorant XYZ Measurement for Channel-%u : X=%.4lf, Y=%.4lf, Z=%.4lf\n", i+1,
3242*9ea1301dSPedro Giffuni        icFtoD(m_maxColorantXYZ[i].X), icFtoD(m_maxColorantXYZ[i].Y), icFtoD(m_maxColorantXYZ[i].Z));
3243*9ea1301dSPedro Giffuni      sDescription += buf;
3244*9ea1301dSPedro Giffuni
3245*9ea1301dSPedro Giffuni!     sprintf(buf, "Number of Measurements for Channel-%u : %u\n", i+1, nResponseList.size());
3246*9ea1301dSPedro Giffuni      sDescription += buf;
3247*9ea1301dSPedro Giffuni
3248*9ea1301dSPedro Giffuni!     sprintf(buf, "Measurement Data for Channel-%u follows:\n", i+1);
3249*9ea1301dSPedro Giffuni      sDescription += buf;
3250*9ea1301dSPedro Giffuni
3251*9ea1301dSPedro Giffuni      for (j=nResponseList.begin(); j!=nResponseList.end(); j++) {
3252*9ea1301dSPedro Giffuni!       sprintf(buf, "Device Value= %u : Measurement Value= %.4lf\n", j->deviceCode, icFtoD(j->measurementValue));
3253*9ea1301dSPedro Giffuni        sDescription += buf;
3254*9ea1301dSPedro Giffuni      }
3255*9ea1301dSPedro Giffuni    }
3256*9ea1301dSPedro Giffuni***************
3257*9ea1301dSPedro Giffuni*** 6234,6240 ****
3258*9ea1301dSPedro Giffuni    default:
3259*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3260*9ea1301dSPedro Giffuni      sReport += sSigName;
3261*9ea1301dSPedro Giffuni!     sReport += " - Unknown measurement unit signature.\r\n";
3262*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3263*9ea1301dSPedro Giffuni    }
3264*9ea1301dSPedro Giffuni
3265*9ea1301dSPedro Giffuni--- 6234,6240 ----
3266*9ea1301dSPedro Giffuni    default:
3267*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3268*9ea1301dSPedro Giffuni      sReport += sSigName;
3269*9ea1301dSPedro Giffuni!     sReport += " - Unknown measurement unit signature.\n";
3270*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3271*9ea1301dSPedro Giffuni    }
3272*9ea1301dSPedro Giffuni
3273*9ea1301dSPedro Giffuni***************
3274*9ea1301dSPedro Giffuni*** 6241,6247 ****
3275*9ea1301dSPedro Giffuni    if (!m_nChannels) {
3276*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3277*9ea1301dSPedro Giffuni      sReport += sSigName;
3278*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of channels.\r\n";
3279*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3280*9ea1301dSPedro Giffuni      return rv;
3281*9ea1301dSPedro Giffuni    }
3282*9ea1301dSPedro Giffuni--- 6241,6247 ----
3283*9ea1301dSPedro Giffuni    if (!m_nChannels) {
3284*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3285*9ea1301dSPedro Giffuni      sReport += sSigName;
3286*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of channels.\n";
3287*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3288*9ea1301dSPedro Giffuni      return rv;
3289*9ea1301dSPedro Giffuni    }
3290*9ea1301dSPedro Giffuni***************
3291*9ea1301dSPedro Giffuni*** 6479,6495 ****
3292*9ea1301dSPedro Giffuni    CIccResponseCurveSet::iterator i;
3293*9ea1301dSPedro Giffuni    icChar buf[128];
3294*9ea1301dSPedro Giffuni
3295*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Channels: %u\r\n", m_nChannels);
3296*9ea1301dSPedro Giffuni    sDescription += buf;
3297*9ea1301dSPedro Giffuni
3298*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Measurement Types used: %u\r\n", m_ResponseCurves->size());
3299*9ea1301dSPedro Giffuni    sDescription += buf;
3300*9ea1301dSPedro Giffuni
3301*9ea1301dSPedro Giffuni    int count = 0;
3302*9ea1301dSPedro Giffuni    for (i=m_ResponseCurves->begin(); i!=m_ResponseCurves->end(); i++, count++) {
3303*9ea1301dSPedro Giffuni!      sDescription += "\r\n";
3304*9ea1301dSPedro Giffuni
3305*9ea1301dSPedro Giffuni!     sprintf(buf, "Response Curve for measurement type [%u] follows:\r\n", count+1);
3306*9ea1301dSPedro Giffuni      sDescription += buf;
3307*9ea1301dSPedro Giffuni
3308*9ea1301dSPedro Giffuni      i->Describe(sDescription);
3309*9ea1301dSPedro Giffuni--- 6479,6495 ----
3310*9ea1301dSPedro Giffuni    CIccResponseCurveSet::iterator i;
3311*9ea1301dSPedro Giffuni    icChar buf[128];
3312*9ea1301dSPedro Giffuni
3313*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Channels: %u\n", m_nChannels);
3314*9ea1301dSPedro Giffuni    sDescription += buf;
3315*9ea1301dSPedro Giffuni
3316*9ea1301dSPedro Giffuni!   sprintf(buf, "Number of Measurement Types used: %u\n", m_ResponseCurves->size());
3317*9ea1301dSPedro Giffuni    sDescription += buf;
3318*9ea1301dSPedro Giffuni
3319*9ea1301dSPedro Giffuni    int count = 0;
3320*9ea1301dSPedro Giffuni    for (i=m_ResponseCurves->begin(); i!=m_ResponseCurves->end(); i++, count++) {
3321*9ea1301dSPedro Giffuni!      sDescription += "\n";
3322*9ea1301dSPedro Giffuni
3323*9ea1301dSPedro Giffuni!     sprintf(buf, "Response Curve for measurement type [%u] follows:\n", count+1);
3324*9ea1301dSPedro Giffuni      sDescription += buf;
3325*9ea1301dSPedro Giffuni
3326*9ea1301dSPedro Giffuni      i->Describe(sDescription);
3327*9ea1301dSPedro Giffuni***************
3328*9ea1301dSPedro Giffuni*** 6658,6664 ****
3329*9ea1301dSPedro Giffuni    if (!pProfile) {
3330*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3331*9ea1301dSPedro Giffuni      sReport += sSigName;
3332*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
3333*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
3334*9ea1301dSPedro Giffuni      return rv;
3335*9ea1301dSPedro Giffuni    }
3336*9ea1301dSPedro Giffuni--- 6658,6664 ----
3337*9ea1301dSPedro Giffuni    if (!pProfile) {
3338*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3339*9ea1301dSPedro Giffuni      sReport += sSigName;
3340*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
3341*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
3342*9ea1301dSPedro Giffuni      return rv;
3343*9ea1301dSPedro Giffuni    }
3344*9ea1301dSPedro Giffuni***************
3345*9ea1301dSPedro Giffuni*** 6666,6678 ****
3346*9ea1301dSPedro Giffuni    if (m_nChannels!=icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
3347*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3348*9ea1301dSPedro Giffuni      sReport += sSigName;
3349*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of channels.\r\n";
3350*9ea1301dSPedro Giffuni    }
3351*9ea1301dSPedro Giffuni
3352*9ea1301dSPedro Giffuni    if (!GetNumResponseCurveTypes()) {
3353*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3354*9ea1301dSPedro Giffuni      sReport += sSigName;
3355*9ea1301dSPedro Giffuni!     sReport += " - Empty Tag!.\r\n";
3356*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
3357*9ea1301dSPedro Giffuni    }
3358*9ea1301dSPedro Giffuni    else {
3359*9ea1301dSPedro Giffuni--- 6666,6678 ----
3360*9ea1301dSPedro Giffuni    if (m_nChannels!=icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
3361*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3362*9ea1301dSPedro Giffuni      sReport += sSigName;
3363*9ea1301dSPedro Giffuni!     sReport += " - Incorrect number of channels.\n";
3364*9ea1301dSPedro Giffuni    }
3365*9ea1301dSPedro Giffuni
3366*9ea1301dSPedro Giffuni    if (!GetNumResponseCurveTypes()) {
3367*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
3368*9ea1301dSPedro Giffuni      sReport += sSigName;
3369*9ea1301dSPedro Giffuni!     sReport += " - Empty Tag!.\n";
3370*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
3371*9ea1301dSPedro Giffuni    }
3372*9ea1301dSPedro Giffuni    else {
3373*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccTagLut.cpp   Mon Aug 20 22:05:00 2007
3374*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagLut.cpp Fri Jan 25 14:23:09 2008
3375*9ea1301dSPedro Giffuni***************
3376*9ea1301dSPedro Giffuni*** 323,345 ****
3377*9ea1301dSPedro Giffuni    icChar buf[128], *ptr;
3378*9ea1301dSPedro Giffuni
3379*9ea1301dSPedro Giffuni    if (!m_nSize) {
3380*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE In_Out\r\n");
3381*9ea1301dSPedro Giffuni      sDescription += buf;
3382*9ea1301dSPedro Giffuni!     sDescription += "Y = X\r\n";
3383*9ea1301dSPedro Giffuni    }
3384*9ea1301dSPedro Giffuni    else if (m_nSize==1) {
3385*9ea1301dSPedro Giffuni      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
3386*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE In_Out\r\n");
3387*9ea1301dSPedro Giffuni      sDescription += buf;
3388*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = X ^ %.4lf\r\n", dGamma);
3389*9ea1301dSPedro Giffuni      sDescription += buf;
3390*9ea1301dSPedro Giffuni    }
3391*9ea1301dSPedro Giffuni    else {
3392*9ea1301dSPedro Giffuni      int i;
3393*9ea1301dSPedro Giffuni
3394*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_LUT In_Out 1 1\r\n");
3395*9ea1301dSPedro Giffuni      sDescription += buf;
3396*9ea1301dSPedro Giffuni!     sDescription += "IN OUT\r\n";
3397*9ea1301dSPedro Giffuni
3398*9ea1301dSPedro Giffuni      for (i=0; i<(int)m_nSize; i++) {
3399*9ea1301dSPedro Giffuni        ptr = buf;
3400*9ea1301dSPedro Giffuni--- 323,345 ----
3401*9ea1301dSPedro Giffuni    icChar buf[128], *ptr;
3402*9ea1301dSPedro Giffuni
3403*9ea1301dSPedro Giffuni    if (!m_nSize) {
3404*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE In_Out\n");
3405*9ea1301dSPedro Giffuni      sDescription += buf;
3406*9ea1301dSPedro Giffuni!     sDescription += "Y = X\n";
3407*9ea1301dSPedro Giffuni    }
3408*9ea1301dSPedro Giffuni    else if (m_nSize==1) {
3409*9ea1301dSPedro Giffuni      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
3410*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE In_Out\n");
3411*9ea1301dSPedro Giffuni      sDescription += buf;
3412*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = X ^ %.4lf\n", dGamma);
3413*9ea1301dSPedro Giffuni      sDescription += buf;
3414*9ea1301dSPedro Giffuni    }
3415*9ea1301dSPedro Giffuni    else {
3416*9ea1301dSPedro Giffuni      int i;
3417*9ea1301dSPedro Giffuni
3418*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_LUT In_Out 1 1\n");
3419*9ea1301dSPedro Giffuni      sDescription += buf;
3420*9ea1301dSPedro Giffuni!     sDescription += "IN OUT\n";
3421*9ea1301dSPedro Giffuni
3422*9ea1301dSPedro Giffuni      for (i=0; i<(int)m_nSize; i++) {
3423*9ea1301dSPedro Giffuni        ptr = buf;
3424*9ea1301dSPedro Giffuni***************
3425*9ea1301dSPedro Giffuni*** 354,365 ****
3426*9ea1301dSPedro Giffuni
3427*9ea1301dSPedro Giffuni        ptr += strlen(ptr);
3428*9ea1301dSPedro Giffuni
3429*9ea1301dSPedro Giffuni!       strcpy(ptr, "\r\n");
3430*9ea1301dSPedro Giffuni
3431*9ea1301dSPedro Giffuni        sDescription += buf;
3432*9ea1301dSPedro Giffuni      }
3433*9ea1301dSPedro Giffuni    }
3434*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3435*9ea1301dSPedro Giffuni  }
3436*9ea1301dSPedro Giffuni
3437*9ea1301dSPedro Giffuni
3438*9ea1301dSPedro Giffuni--- 354,365 ----
3439*9ea1301dSPedro Giffuni
3440*9ea1301dSPedro Giffuni        ptr += strlen(ptr);
3441*9ea1301dSPedro Giffuni
3442*9ea1301dSPedro Giffuni!       strcpy(ptr, "\n");
3443*9ea1301dSPedro Giffuni
3444*9ea1301dSPedro Giffuni        sDescription += buf;
3445*9ea1301dSPedro Giffuni      }
3446*9ea1301dSPedro Giffuni    }
3447*9ea1301dSPedro Giffuni!   sDescription += "\n";
3448*9ea1301dSPedro Giffuni  }
3449*9ea1301dSPedro Giffuni
3450*9ea1301dSPedro Giffuni
3451*9ea1301dSPedro Giffuni***************
3452*9ea1301dSPedro Giffuni*** 383,405 ****
3453*9ea1301dSPedro Giffuni    icChar buf[128], *ptr;
3454*9ea1301dSPedro Giffuni
3455*9ea1301dSPedro Giffuni    if (!m_nSize) {
3456*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
3457*9ea1301dSPedro Giffuni      sDescription += buf;
3458*9ea1301dSPedro Giffuni!     sDescription += "Y = X\r\n";
3459*9ea1301dSPedro Giffuni    }
3460*9ea1301dSPedro Giffuni    else if (m_nSize==1) {
3461*9ea1301dSPedro Giffuni      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
3462*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
3463*9ea1301dSPedro Giffuni      sDescription += buf;
3464*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = X ^ %.4lf\r\n", dGamma);
3465*9ea1301dSPedro Giffuni      sDescription += buf;
3466*9ea1301dSPedro Giffuni    }
3467*9ea1301dSPedro Giffuni    else {
3468*9ea1301dSPedro Giffuni      int i;
3469*9ea1301dSPedro Giffuni
3470*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_LUT %s 1 1\r\n", szName);
3471*9ea1301dSPedro Giffuni      sDescription += buf;
3472*9ea1301dSPedro Giffuni!     sDescription += "IN OUT\r\n";
3473*9ea1301dSPedro Giffuni
3474*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize * 20);
3475*9ea1301dSPedro Giffuni
3476*9ea1301dSPedro Giffuni--- 383,405 ----
3477*9ea1301dSPedro Giffuni    icChar buf[128], *ptr;
3478*9ea1301dSPedro Giffuni
3479*9ea1301dSPedro Giffuni    if (!m_nSize) {
3480*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE %s\n", szName);
3481*9ea1301dSPedro Giffuni      sDescription += buf;
3482*9ea1301dSPedro Giffuni!     sDescription += "Y = X\n";
3483*9ea1301dSPedro Giffuni    }
3484*9ea1301dSPedro Giffuni    else if (m_nSize==1) {
3485*9ea1301dSPedro Giffuni      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
3486*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_CURVE %s\n", szName);
3487*9ea1301dSPedro Giffuni      sDescription += buf;
3488*9ea1301dSPedro Giffuni!     sprintf(buf, "Y = X ^ %.4lf\n", dGamma);
3489*9ea1301dSPedro Giffuni      sDescription += buf;
3490*9ea1301dSPedro Giffuni    }
3491*9ea1301dSPedro Giffuni    else {
3492*9ea1301dSPedro Giffuni      int i;
3493*9ea1301dSPedro Giffuni
3494*9ea1301dSPedro Giffuni!     sprintf(buf, "BEGIN_LUT %s 1 1\n", szName);
3495*9ea1301dSPedro Giffuni      sDescription += buf;
3496*9ea1301dSPedro Giffuni!     sDescription += "IN OUT\n";
3497*9ea1301dSPedro Giffuni
3498*9ea1301dSPedro Giffuni      sDescription.reserve(sDescription.size() + m_nSize * 20);
3499*9ea1301dSPedro Giffuni
3500*9ea1301dSPedro Giffuni***************
3501*9ea1301dSPedro Giffuni*** 416,427 ****
3502*9ea1301dSPedro Giffuni
3503*9ea1301dSPedro Giffuni        ptr += strlen(ptr);
3504*9ea1301dSPedro Giffuni
3505*9ea1301dSPedro Giffuni!       strcpy(ptr, "\r\n");
3506*9ea1301dSPedro Giffuni
3507*9ea1301dSPedro Giffuni        sDescription += buf;
3508*9ea1301dSPedro Giffuni      }
3509*9ea1301dSPedro Giffuni    }
3510*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3511*9ea1301dSPedro Giffuni  }
3512*9ea1301dSPedro Giffuni
3513*9ea1301dSPedro Giffuni
3514*9ea1301dSPedro Giffuni--- 416,427 ----
3515*9ea1301dSPedro Giffuni
3516*9ea1301dSPedro Giffuni        ptr += strlen(ptr);
3517*9ea1301dSPedro Giffuni
3518*9ea1301dSPedro Giffuni!       strcpy(ptr, "\n");
3519*9ea1301dSPedro Giffuni
3520*9ea1301dSPedro Giffuni        sDescription += buf;
3521*9ea1301dSPedro Giffuni      }
3522*9ea1301dSPedro Giffuni    }
3523*9ea1301dSPedro Giffuni!   sDescription += "\n";
3524*9ea1301dSPedro Giffuni  }
3525*9ea1301dSPedro Giffuni
3526*9ea1301dSPedro Giffuni
3527*9ea1301dSPedro Giffuni***************
3528*9ea1301dSPedro Giffuni*** 614,620 ****
3529*9ea1301dSPedro Giffuni          if (m_Curve[0]>0.0 || m_Curve[m_nSize-1]<1.0) {
3530*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
3531*9ea1301dSPedro Giffuni            sReport += sSigName;
3532*9ea1301dSPedro Giffuni!           sReport += " - Curve cannot be accurately inverted.\r\n";
3533*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
3534*9ea1301dSPedro Giffuni          }
3535*9ea1301dSPedro Giffuni        }
3536*9ea1301dSPedro Giffuni--- 614,620 ----
3537*9ea1301dSPedro Giffuni          if (m_Curve[0]>0.0 || m_Curve[m_nSize-1]<1.0) {
3538*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
3539*9ea1301dSPedro Giffuni            sReport += sSigName;
3540*9ea1301dSPedro Giffuni!           sReport += " - Curve cannot be accurately inverted.\n";
3541*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
3542*9ea1301dSPedro Giffuni          }
3543*9ea1301dSPedro Giffuni        }
3544*9ea1301dSPedro Giffuni***************
3545*9ea1301dSPedro Giffuni*** 822,877 ****
3546*9ea1301dSPedro Giffuni  {
3547*9ea1301dSPedro Giffuni    icChar buf[128];
3548*9ea1301dSPedro Giffuni
3549*9ea1301dSPedro Giffuni!   sprintf(buf, "FunctionType: %04Xh\r\n", m_nFunctionType);
3550*9ea1301dSPedro Giffuni    sDescription += buf;
3551*9ea1301dSPedro Giffuni
3552*9ea1301dSPedro Giffuni    switch(m_nFunctionType) {
3553*9ea1301dSPedro Giffuni  case 0x0000:
3554*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = X ^ %.4lf\r\n", icFtoD(m_Param[0]));
3555*9ea1301dSPedro Giffuni    sDescription += buf;
3556*9ea1301dSPedro Giffuni    return;
3557*9ea1301dSPedro Giffuni
3558*9ea1301dSPedro Giffuni  case 0x0001:
3559*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf / %.4lf)\r\n",
3560*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3561*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3562*9ea1301dSPedro Giffuni    sDescription += buf;
3563*9ea1301dSPedro Giffuni
3564*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = 0 when (X < %.4lf / %.4lf)\r\n",
3565*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3566*9ea1301dSPedro Giffuni    sDescription += buf;
3567*9ea1301dSPedro Giffuni    return;
3568*9ea1301dSPedro Giffuni
3569*9ea1301dSPedro Giffuni  case 0x0002:
3570*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf   when (X >= %.4lf / %.4lf)\r\n",
3571*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3572*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]),
3573*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3574*9ea1301dSPedro Giffuni    sDescription += buf;
3575*9ea1301dSPedro Giffuni
3576*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %.4lf   when (X < %.4lf / %.4lf)\r\n", icFtoD(m_Param[3]),
3577*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3578*9ea1301dSPedro Giffuni    sDescription += buf;
3579*9ea1301dSPedro Giffuni    return;
3580*9ea1301dSPedro Giffuni
3581*9ea1301dSPedro Giffuni  case 0x0003:
3582*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf)\r\n",
3583*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3584*9ea1301dSPedro Giffuni      icFtoD(m_Param[4]));
3585*9ea1301dSPedro Giffuni    sDescription += buf;
3586*9ea1301dSPedro Giffuni
3587*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %lf * X   when (X < %.4lf)\r\n",
3588*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]), icFtoD(m_Param[4]));
3589*9ea1301dSPedro Giffuni    sDescription += buf;
3590*9ea1301dSPedro Giffuni    return;
3591*9ea1301dSPedro Giffuni
3592*9ea1301dSPedro Giffuni  case 0x0004:
3593*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf  when (X >= %.4lf)\r\n",
3594*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3595*9ea1301dSPedro Giffuni      icFtoD(m_Param[5]), icFtoD(m_Param[4]));
3596*9ea1301dSPedro Giffuni    sDescription += buf;
3597*9ea1301dSPedro Giffuni
3598*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %lf * X + %.4lf  when (X < %.4lf)\r\n",
3599*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]), icFtoD(m_Param[6]), icFtoD(m_Param[4]));
3600*9ea1301dSPedro Giffuni    sDescription += buf;
3601*9ea1301dSPedro Giffuni    return;
3602*9ea1301dSPedro Giffuni--- 822,877 ----
3603*9ea1301dSPedro Giffuni  {
3604*9ea1301dSPedro Giffuni    icChar buf[128];
3605*9ea1301dSPedro Giffuni
3606*9ea1301dSPedro Giffuni!   sprintf(buf, "FunctionType: %04Xh\n", m_nFunctionType);
3607*9ea1301dSPedro Giffuni    sDescription += buf;
3608*9ea1301dSPedro Giffuni
3609*9ea1301dSPedro Giffuni    switch(m_nFunctionType) {
3610*9ea1301dSPedro Giffuni  case 0x0000:
3611*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = X ^ %.4lf\n", icFtoD(m_Param[0]));
3612*9ea1301dSPedro Giffuni    sDescription += buf;
3613*9ea1301dSPedro Giffuni    return;
3614*9ea1301dSPedro Giffuni
3615*9ea1301dSPedro Giffuni  case 0x0001:
3616*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf / %.4lf)\n",
3617*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3618*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3619*9ea1301dSPedro Giffuni    sDescription += buf;
3620*9ea1301dSPedro Giffuni
3621*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = 0 when (X < %.4lf / %.4lf)\n",
3622*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3623*9ea1301dSPedro Giffuni    sDescription += buf;
3624*9ea1301dSPedro Giffuni    return;
3625*9ea1301dSPedro Giffuni
3626*9ea1301dSPedro Giffuni  case 0x0002:
3627*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf   when (X >= %.4lf / %.4lf)\n",
3628*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3629*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]),
3630*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3631*9ea1301dSPedro Giffuni    sDescription += buf;
3632*9ea1301dSPedro Giffuni
3633*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %.4lf   when (X < %.4lf / %.4lf)\n", icFtoD(m_Param[3]),
3634*9ea1301dSPedro Giffuni      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
3635*9ea1301dSPedro Giffuni    sDescription += buf;
3636*9ea1301dSPedro Giffuni    return;
3637*9ea1301dSPedro Giffuni
3638*9ea1301dSPedro Giffuni  case 0x0003:
3639*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf)\n",
3640*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3641*9ea1301dSPedro Giffuni      icFtoD(m_Param[4]));
3642*9ea1301dSPedro Giffuni    sDescription += buf;
3643*9ea1301dSPedro Giffuni
3644*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %lf * X   when (X < %.4lf)\n",
3645*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]), icFtoD(m_Param[4]));
3646*9ea1301dSPedro Giffuni    sDescription += buf;
3647*9ea1301dSPedro Giffuni    return;
3648*9ea1301dSPedro Giffuni
3649*9ea1301dSPedro Giffuni  case 0x0004:
3650*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf  when (X >= %.4lf)\n",
3651*9ea1301dSPedro Giffuni      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
3652*9ea1301dSPedro Giffuni      icFtoD(m_Param[5]), icFtoD(m_Param[4]));
3653*9ea1301dSPedro Giffuni    sDescription += buf;
3654*9ea1301dSPedro Giffuni
3655*9ea1301dSPedro Giffuni!   sprintf(buf, "Y = %lf * X + %.4lf  when (X < %.4lf)\n",
3656*9ea1301dSPedro Giffuni      icFtoD(m_Param[3]), icFtoD(m_Param[6]), icFtoD(m_Param[4]));
3657*9ea1301dSPedro Giffuni    sDescription += buf;
3658*9ea1301dSPedro Giffuni    return;
3659*9ea1301dSPedro Giffuni***************
3660*9ea1301dSPedro Giffuni*** 878,888 ****
3661*9ea1301dSPedro Giffuni
3662*9ea1301dSPedro Giffuni  default:
3663*9ea1301dSPedro Giffuni    int i;
3664*9ea1301dSPedro Giffuni!   sprintf(buf, "Unknown Function with %d parameters:\r\n");
3665*9ea1301dSPedro Giffuni    sDescription += buf;
3666*9ea1301dSPedro Giffuni
3667*9ea1301dSPedro Giffuni    for (i=0; i<m_nNumParam; i++) {
3668*9ea1301dSPedro Giffuni!     sprintf(buf, "Param[%d] = %.4lf\r\n", i, icFtoD(m_Param[i]));
3669*9ea1301dSPedro Giffuni      sDescription += buf;
3670*9ea1301dSPedro Giffuni    }
3671*9ea1301dSPedro Giffuni    }
3672*9ea1301dSPedro Giffuni--- 878,888 ----
3673*9ea1301dSPedro Giffuni
3674*9ea1301dSPedro Giffuni  default:
3675*9ea1301dSPedro Giffuni    int i;
3676*9ea1301dSPedro Giffuni!   sprintf(buf, "Unknown Function with %d parameters:\n", m_nNumParam);
3677*9ea1301dSPedro Giffuni    sDescription += buf;
3678*9ea1301dSPedro Giffuni
3679*9ea1301dSPedro Giffuni    for (i=0; i<m_nNumParam; i++) {
3680*9ea1301dSPedro Giffuni!     sprintf(buf, "Param[%d] = %.4lf\n", i, icFtoD(m_Param[i]));
3681*9ea1301dSPedro Giffuni      sDescription += buf;
3682*9ea1301dSPedro Giffuni    }
3683*9ea1301dSPedro Giffuni    }
3684*9ea1301dSPedro Giffuni***************
3685*9ea1301dSPedro Giffuni*** 907,916 ****
3686*9ea1301dSPedro Giffuni  {
3687*9ea1301dSPedro Giffuni    icChar buf[128];
3688*9ea1301dSPedro Giffuni
3689*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
3690*9ea1301dSPedro Giffuni    sDescription += buf;
3691*9ea1301dSPedro Giffuni    Describe(sDescription);
3692*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3693*9ea1301dSPedro Giffuni  }
3694*9ea1301dSPedro Giffuni
3695*9ea1301dSPedro Giffuni
3696*9ea1301dSPedro Giffuni--- 907,916 ----
3697*9ea1301dSPedro Giffuni  {
3698*9ea1301dSPedro Giffuni    icChar buf[128];
3699*9ea1301dSPedro Giffuni
3700*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_CURVE %s\n", szName);
3701*9ea1301dSPedro Giffuni    sDescription += buf;
3702*9ea1301dSPedro Giffuni    Describe(sDescription);
3703*9ea1301dSPedro Giffuni!   sDescription += "\n";
3704*9ea1301dSPedro Giffuni  }
3705*9ea1301dSPedro Giffuni
3706*9ea1301dSPedro Giffuni
3707*9ea1301dSPedro Giffuni***************
3708*9ea1301dSPedro Giffuni*** 1106,1112 ****
3709*9ea1301dSPedro Giffuni    if (m_nReserved2!=0) {
3710*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3711*9ea1301dSPedro Giffuni      sReport += sSigName;
3712*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\r\n";
3713*9ea1301dSPedro Giffuni
3714*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3715*9ea1301dSPedro Giffuni    }
3716*9ea1301dSPedro Giffuni--- 1106,1112 ----
3717*9ea1301dSPedro Giffuni    if (m_nReserved2!=0) {
3718*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3719*9ea1301dSPedro Giffuni      sReport += sSigName;
3720*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\n";
3721*9ea1301dSPedro Giffuni
3722*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
3723*9ea1301dSPedro Giffuni    }
3724*9ea1301dSPedro Giffuni***************
3725*9ea1301dSPedro Giffuni*** 1116,1122 ****
3726*9ea1301dSPedro Giffuni    if (m_nNumParam!=1) {
3727*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3728*9ea1301dSPedro Giffuni      sReport += sSigName;
3729*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\r\n";
3730*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3731*9ea1301dSPedro Giffuni    }
3732*9ea1301dSPedro Giffuni    break;
3733*9ea1301dSPedro Giffuni--- 1116,1122 ----
3734*9ea1301dSPedro Giffuni    if (m_nNumParam!=1) {
3735*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3736*9ea1301dSPedro Giffuni      sReport += sSigName;
3737*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\n";
3738*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3739*9ea1301dSPedro Giffuni    }
3740*9ea1301dSPedro Giffuni    break;
3741*9ea1301dSPedro Giffuni***************
3742*9ea1301dSPedro Giffuni*** 1125,1131 ****
3743*9ea1301dSPedro Giffuni    if (m_nNumParam!=3) {
3744*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3745*9ea1301dSPedro Giffuni      sReport += sSigName;
3746*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\r\n";
3747*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3748*9ea1301dSPedro Giffuni    }
3749*9ea1301dSPedro Giffuni    break;
3750*9ea1301dSPedro Giffuni--- 1125,1131 ----
3751*9ea1301dSPedro Giffuni    if (m_nNumParam!=3) {
3752*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3753*9ea1301dSPedro Giffuni      sReport += sSigName;
3754*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\n";
3755*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3756*9ea1301dSPedro Giffuni    }
3757*9ea1301dSPedro Giffuni    break;
3758*9ea1301dSPedro Giffuni***************
3759*9ea1301dSPedro Giffuni*** 1134,1140 ****
3760*9ea1301dSPedro Giffuni    if (m_nNumParam!=4) {
3761*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3762*9ea1301dSPedro Giffuni      sReport += sSigName;
3763*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\r\n";
3764*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3765*9ea1301dSPedro Giffuni    }
3766*9ea1301dSPedro Giffuni    break;
3767*9ea1301dSPedro Giffuni--- 1134,1140 ----
3768*9ea1301dSPedro Giffuni    if (m_nNumParam!=4) {
3769*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3770*9ea1301dSPedro Giffuni      sReport += sSigName;
3771*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\n";
3772*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3773*9ea1301dSPedro Giffuni    }
3774*9ea1301dSPedro Giffuni    break;
3775*9ea1301dSPedro Giffuni***************
3776*9ea1301dSPedro Giffuni*** 1143,1149 ****
3777*9ea1301dSPedro Giffuni    if (m_nNumParam!=5) {
3778*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3779*9ea1301dSPedro Giffuni      sReport += sSigName;
3780*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\r\n";
3781*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3782*9ea1301dSPedro Giffuni    }
3783*9ea1301dSPedro Giffuni    break;
3784*9ea1301dSPedro Giffuni--- 1143,1149 ----
3785*9ea1301dSPedro Giffuni    if (m_nNumParam!=5) {
3786*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3787*9ea1301dSPedro Giffuni      sReport += sSigName;
3788*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\n";
3789*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3790*9ea1301dSPedro Giffuni    }
3791*9ea1301dSPedro Giffuni    break;
3792*9ea1301dSPedro Giffuni***************
3793*9ea1301dSPedro Giffuni*** 1152,1158 ****
3794*9ea1301dSPedro Giffuni    if (m_nNumParam!=7) {
3795*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3796*9ea1301dSPedro Giffuni      sReport += sSigName;
3797*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\r\n";
3798*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3799*9ea1301dSPedro Giffuni    }
3800*9ea1301dSPedro Giffuni    break;
3801*9ea1301dSPedro Giffuni--- 1152,1158 ----
3802*9ea1301dSPedro Giffuni    if (m_nNumParam!=7) {
3803*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
3804*9ea1301dSPedro Giffuni      sReport += sSigName;
3805*9ea1301dSPedro Giffuni!     sReport += " - Number of parameters inconsistent with function type.\n";
3806*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
3807*9ea1301dSPedro Giffuni    }
3808*9ea1301dSPedro Giffuni    break;
3809*9ea1301dSPedro Giffuni***************
3810*9ea1301dSPedro Giffuni*** 1160,1166 ****
3811*9ea1301dSPedro Giffuni  default:
3812*9ea1301dSPedro Giffuni    sReport += icValidateCriticalErrorMsg;
3813*9ea1301dSPedro Giffuni    sReport += sSigName;
3814*9ea1301dSPedro Giffuni!   sReport += " - Unknown function type.\r\n";
3815*9ea1301dSPedro Giffuni    rv = icMaxStatus(rv, icValidateCriticalError);
3816*9ea1301dSPedro Giffuni    }
3817*9ea1301dSPedro Giffuni
3818*9ea1301dSPedro Giffuni--- 1160,1166 ----
3819*9ea1301dSPedro Giffuni  default:
3820*9ea1301dSPedro Giffuni    sReport += icValidateCriticalErrorMsg;
3821*9ea1301dSPedro Giffuni    sReport += sSigName;
3822*9ea1301dSPedro Giffuni!   sReport += " - Unknown function type.\n";
3823*9ea1301dSPedro Giffuni    rv = icMaxStatus(rv, icValidateCriticalError);
3824*9ea1301dSPedro Giffuni    }
3825*9ea1301dSPedro Giffuni
3826*9ea1301dSPedro Giffuni***************
3827*9ea1301dSPedro Giffuni*** 1170,1176 ****
3828*9ea1301dSPedro Giffuni      if (lval>0.0 || uval<1.0) {
3829*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
3830*9ea1301dSPedro Giffuni        sReport += sSigName;
3831*9ea1301dSPedro Giffuni!       sReport += " - Curve cannot be accurately inverted.\r\n";
3832*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
3833*9ea1301dSPedro Giffuni      }
3834*9ea1301dSPedro Giffuni    }
3835*9ea1301dSPedro Giffuni--- 1170,1176 ----
3836*9ea1301dSPedro Giffuni      if (lval>0.0 || uval<1.0) {
3837*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
3838*9ea1301dSPedro Giffuni        sReport += sSigName;
3839*9ea1301dSPedro Giffuni!       sReport += " - Curve cannot be accurately inverted.\n";
3840*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
3841*9ea1301dSPedro Giffuni      }
3842*9ea1301dSPedro Giffuni    }
3843*9ea1301dSPedro Giffuni***************
3844*9ea1301dSPedro Giffuni*** 1255,1286 ****
3845*9ea1301dSPedro Giffuni  {
3846*9ea1301dSPedro Giffuni    icChar buf[128];
3847*9ea1301dSPedro Giffuni
3848*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_MATRIX %s\r\n", szName);
3849*9ea1301dSPedro Giffuni    sDescription += buf;
3850*9ea1301dSPedro Giffuni
3851*9ea1301dSPedro Giffuni    if (!m_bUseConstants) {
3852*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
3853*9ea1301dSPedro Giffuni        m_e[0], m_e[1], m_e[2]);
3854*9ea1301dSPedro Giffuni      sDescription += buf;
3855*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
3856*9ea1301dSPedro Giffuni        m_e[3], m_e[4], m_e[5]);
3857*9ea1301dSPedro Giffuni      sDescription += buf;
3858*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
3859*9ea1301dSPedro Giffuni        m_e[6], m_e[7], m_e[8]);
3860*9ea1301dSPedro Giffuni      sDescription += buf;
3861*9ea1301dSPedro Giffuni    }
3862*9ea1301dSPedro Giffuni    else {
3863*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
3864*9ea1301dSPedro Giffuni        m_e[0], m_e[1], m_e[2], m_e[9]);
3865*9ea1301dSPedro Giffuni      sDescription += buf;
3866*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
3867*9ea1301dSPedro Giffuni        m_e[3], m_e[4], m_e[5], m_e[10]);
3868*9ea1301dSPedro Giffuni      sDescription += buf;
3869*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
3870*9ea1301dSPedro Giffuni        m_e[6], m_e[7], m_e[8], m_e[11]);
3871*9ea1301dSPedro Giffuni      sDescription += buf;
3872*9ea1301dSPedro Giffuni    }
3873*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3874*9ea1301dSPedro Giffuni  }
3875*9ea1301dSPedro Giffuni
3876*9ea1301dSPedro Giffuni  /**
3877*9ea1301dSPedro Giffuni--- 1255,1286 ----
3878*9ea1301dSPedro Giffuni  {
3879*9ea1301dSPedro Giffuni    icChar buf[128];
3880*9ea1301dSPedro Giffuni
3881*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN_MATRIX %s\n", szName);
3882*9ea1301dSPedro Giffuni    sDescription += buf;
3883*9ea1301dSPedro Giffuni
3884*9ea1301dSPedro Giffuni    if (!m_bUseConstants) {
3885*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
3886*9ea1301dSPedro Giffuni        m_e[0], m_e[1], m_e[2]);
3887*9ea1301dSPedro Giffuni      sDescription += buf;
3888*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
3889*9ea1301dSPedro Giffuni        m_e[3], m_e[4], m_e[5]);
3890*9ea1301dSPedro Giffuni      sDescription += buf;
3891*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
3892*9ea1301dSPedro Giffuni        m_e[6], m_e[7], m_e[8]);
3893*9ea1301dSPedro Giffuni      sDescription += buf;
3894*9ea1301dSPedro Giffuni    }
3895*9ea1301dSPedro Giffuni    else {
3896*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
3897*9ea1301dSPedro Giffuni        m_e[0], m_e[1], m_e[2], m_e[9]);
3898*9ea1301dSPedro Giffuni      sDescription += buf;
3899*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
3900*9ea1301dSPedro Giffuni        m_e[3], m_e[4], m_e[5], m_e[10]);
3901*9ea1301dSPedro Giffuni      sDescription += buf;
3902*9ea1301dSPedro Giffuni!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
3903*9ea1301dSPedro Giffuni        m_e[6], m_e[7], m_e[8], m_e[11]);
3904*9ea1301dSPedro Giffuni      sDescription += buf;
3905*9ea1301dSPedro Giffuni    }
3906*9ea1301dSPedro Giffuni!   sDescription += "\n";
3907*9ea1301dSPedro Giffuni  }
3908*9ea1301dSPedro Giffuni
3909*9ea1301dSPedro Giffuni  /**
3910*9ea1301dSPedro Giffuni***************
3911*9ea1301dSPedro Giffuni*** 1377,1383 ****
3912*9ea1301dSPedro Giffuni        if (m_e[0]!=1.0 || m_e[4]!=1.0 || m_e[9]!=1.0 || sum!=3.0) {
3913*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
3914*9ea1301dSPedro Giffuni          sReport += sSigName;
3915*9ea1301dSPedro Giffuni!         sReport += " - Matrix must be identity.\r\n";
3916*9ea1301dSPedro Giffuni          rv = icValidateNonCompliant;
3917*9ea1301dSPedro Giffuni        }
3918*9ea1301dSPedro Giffuni      }
3919*9ea1301dSPedro Giffuni--- 1377,1383 ----
3920*9ea1301dSPedro Giffuni        if (m_e[0]!=1.0 || m_e[4]!=1.0 || m_e[9]!=1.0 || sum!=3.0) {
3921*9ea1301dSPedro Giffuni          sReport += icValidateNonCompliantMsg;
3922*9ea1301dSPedro Giffuni          sReport += sSigName;
3923*9ea1301dSPedro Giffuni!         sReport += " - Matrix must be identity.\n";
3924*9ea1301dSPedro Giffuni          rv = icValidateNonCompliant;
3925*9ea1301dSPedro Giffuni        }
3926*9ea1301dSPedro Giffuni      }
3927*9ea1301dSPedro Giffuni***************
3928*9ea1301dSPedro Giffuni*** 1754,1760 ****
3929*9ea1301dSPedro Giffuni
3930*9ea1301dSPedro Giffuni        ptr += sprintf(ptr, " %s", m_pVal);
3931*9ea1301dSPedro Giffuni      }
3932*9ea1301dSPedro Giffuni!     strcpy(ptr, "\r\n");
3933*9ea1301dSPedro Giffuni      sDescription += (const icChar*)m_pOutText;
3934*9ea1301dSPedro Giffuni
3935*9ea1301dSPedro Giffuni    }
3936*9ea1301dSPedro Giffuni--- 1754,1760 ----
3937*9ea1301dSPedro Giffuni
3938*9ea1301dSPedro Giffuni        ptr += sprintf(ptr, " %s", m_pVal);
3939*9ea1301dSPedro Giffuni      }
3940*9ea1301dSPedro Giffuni!     strcpy(ptr, "\n");
3941*9ea1301dSPedro Giffuni      sDescription += (const icChar*)m_pOutText;
3942*9ea1301dSPedro Giffuni
3943*9ea1301dSPedro Giffuni    }
3944*9ea1301dSPedro Giffuni***************
3945*9ea1301dSPedro Giffuni*** 1866,1872 ****
3946*9ea1301dSPedro Giffuni    icChar szOutText[2048], szColor[40];
3947*9ea1301dSPedro Giffuni    int i, len;
3948*9ea1301dSPedro Giffuni
3949*9ea1301dSPedro Giffuni!   sprintf(szOutText, "BEGIN_LUT %s %d %d\r\n", szName, m_nInput, m_nOutput);
3950*9ea1301dSPedro Giffuni    sDescription += szOutText;
3951*9ea1301dSPedro Giffuni
3952*9ea1301dSPedro Giffuni    for (i=0; i<m_nInput; i++) {
3953*9ea1301dSPedro Giffuni--- 1866,1872 ----
3954*9ea1301dSPedro Giffuni    icChar szOutText[2048], szColor[40];
3955*9ea1301dSPedro Giffuni    int i, len;
3956*9ea1301dSPedro Giffuni
3957*9ea1301dSPedro Giffuni!   sprintf(szOutText, "BEGIN_LUT %s %d %d\n", szName, m_nInput, m_nOutput);
3958*9ea1301dSPedro Giffuni    sDescription += szOutText;
3959*9ea1301dSPedro Giffuni
3960*9ea1301dSPedro Giffuni    for (i=0; i<m_nInput; i++) {
3961*9ea1301dSPedro Giffuni***************
3962*9ea1301dSPedro Giffuni*** 1883,1889 ****
3963*9ea1301dSPedro Giffuni      sDescription += szOutText;
3964*9ea1301dSPedro Giffuni    }
3965*9ea1301dSPedro Giffuni
3966*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3967*9ea1301dSPedro Giffuni
3968*9ea1301dSPedro Giffuni    len = 0;
3969*9ea1301dSPedro Giffuni    for (i=0; i<m_nInput; i++) {
3970*9ea1301dSPedro Giffuni--- 1883,1889 ----
3971*9ea1301dSPedro Giffuni      sDescription += szOutText;
3972*9ea1301dSPedro Giffuni    }
3973*9ea1301dSPedro Giffuni
3974*9ea1301dSPedro Giffuni!   sDescription += "\n";
3975*9ea1301dSPedro Giffuni
3976*9ea1301dSPedro Giffuni    len = 0;
3977*9ea1301dSPedro Giffuni    for (i=0; i<m_nInput; i++) {
3978*9ea1301dSPedro Giffuni***************
3979*9ea1301dSPedro Giffuni*** 1907,1913 ****
3980*9ea1301dSPedro Giffuni
3981*9ea1301dSPedro Giffuni    Iterate(sDescription, 0, 0);
3982*9ea1301dSPedro Giffuni
3983*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
3984*9ea1301dSPedro Giffuni  }
3985*9ea1301dSPedro Giffuni
3986*9ea1301dSPedro Giffuni
3987*9ea1301dSPedro Giffuni--- 1907,1913 ----
3988*9ea1301dSPedro Giffuni
3989*9ea1301dSPedro Giffuni    Iterate(sDescription, 0, 0);
3990*9ea1301dSPedro Giffuni
3991*9ea1301dSPedro Giffuni!   sDescription += "\n";
3992*9ea1301dSPedro Giffuni  }
3993*9ea1301dSPedro Giffuni
3994*9ea1301dSPedro Giffuni
3995*9ea1301dSPedro Giffuni***************
3996*9ea1301dSPedro Giffuni*** 2693,2699 ****
3997*9ea1301dSPedro Giffuni    if (m_nReserved2[0]!=0 || m_nReserved2[1]!=0 || m_nReserved2[2]!=0) {
3998*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
3999*9ea1301dSPedro Giffuni      sReport += sSigName;
4000*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\r\n";
4001*9ea1301dSPedro Giffuni
4002*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4003*9ea1301dSPedro Giffuni    }
4004*9ea1301dSPedro Giffuni--- 2693,2699 ----
4005*9ea1301dSPedro Giffuni    if (m_nReserved2[0]!=0 || m_nReserved2[1]!=0 || m_nReserved2[2]!=0) {
4006*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4007*9ea1301dSPedro Giffuni      sReport += sSigName;
4008*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\n";
4009*9ea1301dSPedro Giffuni
4010*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4011*9ea1301dSPedro Giffuni    }
4012*9ea1301dSPedro Giffuni***************
4013*9ea1301dSPedro Giffuni*** 2704,2710 ****
4014*9ea1301dSPedro Giffuni        if (m_GridPoints[i]<2) {
4015*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4016*9ea1301dSPedro Giffuni          sReport += sSigName;
4017*9ea1301dSPedro Giffuni!         sprintf(temp, " - CLUT: At least 2 grid points should be present in dimension %u.\r\n",i );
4018*9ea1301dSPedro Giffuni          sReport += temp;
4019*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4020*9ea1301dSPedro Giffuni        }
4021*9ea1301dSPedro Giffuni--- 2704,2710 ----
4022*9ea1301dSPedro Giffuni        if (m_GridPoints[i]<2) {
4023*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4024*9ea1301dSPedro Giffuni          sReport += sSigName;
4025*9ea1301dSPedro Giffuni!         sprintf(temp, " - CLUT: At least 2 grid points should be present in dimension %u.\n",i );
4026*9ea1301dSPedro Giffuni          sReport += temp;
4027*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4028*9ea1301dSPedro Giffuni        }
4029*9ea1301dSPedro Giffuni***************
4030*9ea1301dSPedro Giffuni*** 3122,3128 ****
4031*9ea1301dSPedro Giffuni    if (!pProfile) {
4032*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4033*9ea1301dSPedro Giffuni      sReport += sSigName;
4034*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
4035*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4036*9ea1301dSPedro Giffuni      return rv;
4037*9ea1301dSPedro Giffuni    }
4038*9ea1301dSPedro Giffuni--- 3122,3128 ----
4039*9ea1301dSPedro Giffuni    if (!pProfile) {
4040*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4041*9ea1301dSPedro Giffuni      sReport += sSigName;
4042*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
4043*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4044*9ea1301dSPedro Giffuni      return rv;
4045*9ea1301dSPedro Giffuni    }
4046*9ea1301dSPedro Giffuni***************
4047*9ea1301dSPedro Giffuni*** 3138,3144 ****
4048*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4049*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4050*9ea1301dSPedro Giffuni          sReport += sSigName;
4051*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\r\n";
4052*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4053*9ea1301dSPedro Giffuni        }
4054*9ea1301dSPedro Giffuni
4055*9ea1301dSPedro Giffuni--- 3138,3144 ----
4056*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4057*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4058*9ea1301dSPedro Giffuni          sReport += sSigName;
4059*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\n";
4060*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4061*9ea1301dSPedro Giffuni        }
4062*9ea1301dSPedro Giffuni
4063*9ea1301dSPedro Giffuni***************
4064*9ea1301dSPedro Giffuni*** 3146,3152 ****
4065*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4066*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4067*9ea1301dSPedro Giffuni          sReport += sSigName;
4068*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\r\n";
4069*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4070*9ea1301dSPedro Giffuni        }
4071*9ea1301dSPedro Giffuni
4072*9ea1301dSPedro Giffuni--- 3146,3152 ----
4073*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4074*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4075*9ea1301dSPedro Giffuni          sReport += sSigName;
4076*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\n";
4077*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4078*9ea1301dSPedro Giffuni        }
4079*9ea1301dSPedro Giffuni
4080*9ea1301dSPedro Giffuni***************
4081*9ea1301dSPedro Giffuni*** 3160,3166 ****
4082*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4083*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4084*9ea1301dSPedro Giffuni          sReport += sSigName;
4085*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\r\n";
4086*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4087*9ea1301dSPedro Giffuni        }
4088*9ea1301dSPedro Giffuni
4089*9ea1301dSPedro Giffuni--- 3160,3166 ----
4090*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4091*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4092*9ea1301dSPedro Giffuni          sReport += sSigName;
4093*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\n";
4094*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4095*9ea1301dSPedro Giffuni        }
4096*9ea1301dSPedro Giffuni
4097*9ea1301dSPedro Giffuni***************
4098*9ea1301dSPedro Giffuni*** 3168,3174 ****
4099*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4100*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4101*9ea1301dSPedro Giffuni          sReport += sSigName;
4102*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\r\n";
4103*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4104*9ea1301dSPedro Giffuni        }
4105*9ea1301dSPedro Giffuni
4106*9ea1301dSPedro Giffuni--- 3168,3174 ----
4107*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4108*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4109*9ea1301dSPedro Giffuni          sReport += sSigName;
4110*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\n";
4111*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4112*9ea1301dSPedro Giffuni        }
4113*9ea1301dSPedro Giffuni
4114*9ea1301dSPedro Giffuni***************
4115*9ea1301dSPedro Giffuni*** 3180,3186 ****
4116*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4117*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4118*9ea1301dSPedro Giffuni          sReport += sSigName;
4119*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\r\n";
4120*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4121*9ea1301dSPedro Giffuni        }
4122*9ea1301dSPedro Giffuni
4123*9ea1301dSPedro Giffuni--- 3180,3186 ----
4124*9ea1301dSPedro Giffuni        if (m_nInput!=nInput) {
4125*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4126*9ea1301dSPedro Giffuni          sReport += sSigName;
4127*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of input channels.\n";
4128*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4129*9ea1301dSPedro Giffuni        }
4130*9ea1301dSPedro Giffuni
4131*9ea1301dSPedro Giffuni***************
4132*9ea1301dSPedro Giffuni*** 3188,3194 ****
4133*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4134*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4135*9ea1301dSPedro Giffuni          sReport += sSigName;
4136*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\r\n";
4137*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4138*9ea1301dSPedro Giffuni        }
4139*9ea1301dSPedro Giffuni
4140*9ea1301dSPedro Giffuni--- 3188,3194 ----
4141*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4142*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4143*9ea1301dSPedro Giffuni          sReport += sSigName;
4144*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\n";
4145*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4146*9ea1301dSPedro Giffuni        }
4147*9ea1301dSPedro Giffuni
4148*9ea1301dSPedro Giffuni***************
4149*9ea1301dSPedro Giffuni*** 3206,3212 ****
4150*9ea1301dSPedro Giffuni      if (!m_CLUT) {
4151*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
4152*9ea1301dSPedro Giffuni        sReport += sSigName;
4153*9ea1301dSPedro Giffuni!       sReport += " - CLUT must be present.\r\n";
4154*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
4155*9ea1301dSPedro Giffuni      }
4156*9ea1301dSPedro Giffuni    }
4157*9ea1301dSPedro Giffuni--- 3206,3212 ----
4158*9ea1301dSPedro Giffuni      if (!m_CLUT) {
4159*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
4160*9ea1301dSPedro Giffuni        sReport += sSigName;
4161*9ea1301dSPedro Giffuni!       sReport += " - CLUT must be present.\n";
4162*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateCriticalError);
4163*9ea1301dSPedro Giffuni      }
4164*9ea1301dSPedro Giffuni    }
4165*9ea1301dSPedro Giffuni***************
4166*9ea1301dSPedro Giffuni*** 3748,3754 ****
4167*9ea1301dSPedro Giffuni            else {
4168*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4169*9ea1301dSPedro Giffuni              sReport += sSigName;
4170*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\r\n";
4171*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4172*9ea1301dSPedro Giffuni            }
4173*9ea1301dSPedro Giffuni          }
4174*9ea1301dSPedro Giffuni--- 3748,3754 ----
4175*9ea1301dSPedro Giffuni            else {
4176*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4177*9ea1301dSPedro Giffuni              sReport += sSigName;
4178*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\n";
4179*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4180*9ea1301dSPedro Giffuni            }
4181*9ea1301dSPedro Giffuni          }
4182*9ea1301dSPedro Giffuni***************
4183*9ea1301dSPedro Giffuni*** 3762,3768 ****
4184*9ea1301dSPedro Giffuni            else {
4185*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4186*9ea1301dSPedro Giffuni              sReport += sSigName;
4187*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of M-curves.\r\n";
4188*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4189*9ea1301dSPedro Giffuni            }
4190*9ea1301dSPedro Giffuni          }
4191*9ea1301dSPedro Giffuni--- 3762,3768 ----
4192*9ea1301dSPedro Giffuni            else {
4193*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4194*9ea1301dSPedro Giffuni              sReport += sSigName;
4195*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of M-curves.\n";
4196*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4197*9ea1301dSPedro Giffuni            }
4198*9ea1301dSPedro Giffuni          }
4199*9ea1301dSPedro Giffuni***************
4200*9ea1301dSPedro Giffuni*** 3772,3778 ****
4201*9ea1301dSPedro Giffuni          if (!m_CLUT) {
4202*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
4203*9ea1301dSPedro Giffuni            sReport += sSigName;
4204*9ea1301dSPedro Giffuni!           sReport += " - CLUT must be present if using A-curves.\r\n";
4205*9ea1301dSPedro Giffuni
4206*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
4207*9ea1301dSPedro Giffuni          }
4208*9ea1301dSPedro Giffuni--- 3772,3778 ----
4209*9ea1301dSPedro Giffuni          if (!m_CLUT) {
4210*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
4211*9ea1301dSPedro Giffuni            sReport += sSigName;
4212*9ea1301dSPedro Giffuni!           sReport += " - CLUT must be present if using A-curves.\n";
4213*9ea1301dSPedro Giffuni
4214*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
4215*9ea1301dSPedro Giffuni          }
4216*9ea1301dSPedro Giffuni***************
4217*9ea1301dSPedro Giffuni*** 3784,3790 ****
4218*9ea1301dSPedro Giffuni            else {
4219*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4220*9ea1301dSPedro Giffuni              sReport += sSigName;
4221*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\r\n";
4222*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4223*9ea1301dSPedro Giffuni            }
4224*9ea1301dSPedro Giffuni          }
4225*9ea1301dSPedro Giffuni--- 3784,3790 ----
4226*9ea1301dSPedro Giffuni            else {
4227*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4228*9ea1301dSPedro Giffuni              sReport += sSigName;
4229*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\n";
4230*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4231*9ea1301dSPedro Giffuni            }
4232*9ea1301dSPedro Giffuni          }
4233*9ea1301dSPedro Giffuni***************
4234*9ea1301dSPedro Giffuni*** 3876,3882 ****
4235*9ea1301dSPedro Giffuni    if (!pProfile) {
4236*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4237*9ea1301dSPedro Giffuni      sReport += sSigName;
4238*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
4239*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
4240*9ea1301dSPedro Giffuni      return rv;
4241*9ea1301dSPedro Giffuni    }
4242*9ea1301dSPedro Giffuni--- 3876,3882 ----
4243*9ea1301dSPedro Giffuni    if (!pProfile) {
4244*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4245*9ea1301dSPedro Giffuni      sReport += sSigName;
4246*9ea1301dSPedro Giffuni!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
4247*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateCriticalError);
4248*9ea1301dSPedro Giffuni      return rv;
4249*9ea1301dSPedro Giffuni    }
4250*9ea1301dSPedro Giffuni***************
4251*9ea1301dSPedro Giffuni*** 3900,3906 ****
4252*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4253*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4254*9ea1301dSPedro Giffuni          sReport += sSigName;
4255*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\r\n";
4256*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4257*9ea1301dSPedro Giffuni        }
4258*9ea1301dSPedro Giffuni
4259*9ea1301dSPedro Giffuni--- 3900,3906 ----
4260*9ea1301dSPedro Giffuni        if (m_nOutput!=nOutput) {
4261*9ea1301dSPedro Giffuni          sReport += icValidateCriticalErrorMsg;
4262*9ea1301dSPedro Giffuni          sReport += sSigName;
4263*9ea1301dSPedro Giffuni!         sReport += " - Incorrect number of output channels.\n";
4264*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateCriticalError);
4265*9ea1301dSPedro Giffuni        }
4266*9ea1301dSPedro Giffuni
4267*9ea1301dSPedro Giffuni***************
4268*9ea1301dSPedro Giffuni*** 3913,3919 ****
4269*9ea1301dSPedro Giffuni            else {
4270*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4271*9ea1301dSPedro Giffuni              sReport += sSigName;
4272*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\r\n";
4273*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4274*9ea1301dSPedro Giffuni            }
4275*9ea1301dSPedro Giffuni          }
4276*9ea1301dSPedro Giffuni--- 3913,3919 ----
4277*9ea1301dSPedro Giffuni            else {
4278*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4279*9ea1301dSPedro Giffuni              sReport += sSigName;
4280*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\n";
4281*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4282*9ea1301dSPedro Giffuni            }
4283*9ea1301dSPedro Giffuni          }
4284*9ea1301dSPedro Giffuni***************
4285*9ea1301dSPedro Giffuni*** 3927,3933 ****
4286*9ea1301dSPedro Giffuni            else {
4287*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4288*9ea1301dSPedro Giffuni              sReport += sSigName;
4289*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of M-curves.\r\n";
4290*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4291*9ea1301dSPedro Giffuni            }
4292*9ea1301dSPedro Giffuni          }
4293*9ea1301dSPedro Giffuni--- 3927,3933 ----
4294*9ea1301dSPedro Giffuni            else {
4295*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4296*9ea1301dSPedro Giffuni              sReport += sSigName;
4297*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of M-curves.\n";
4298*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4299*9ea1301dSPedro Giffuni            }
4300*9ea1301dSPedro Giffuni          }
4301*9ea1301dSPedro Giffuni***************
4302*9ea1301dSPedro Giffuni*** 3937,3943 ****
4303*9ea1301dSPedro Giffuni          if (!m_CLUT) {
4304*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
4305*9ea1301dSPedro Giffuni            sReport += sSigName;
4306*9ea1301dSPedro Giffuni!           sReport += " - CLUT must be present if using A-curves.\r\n";
4307*9ea1301dSPedro Giffuni
4308*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
4309*9ea1301dSPedro Giffuni          }
4310*9ea1301dSPedro Giffuni--- 3937,3943 ----
4311*9ea1301dSPedro Giffuni          if (!m_CLUT) {
4312*9ea1301dSPedro Giffuni            sReport += icValidateNonCompliantMsg;
4313*9ea1301dSPedro Giffuni            sReport += sSigName;
4314*9ea1301dSPedro Giffuni!           sReport += " - CLUT must be present if using A-curves.\n";
4315*9ea1301dSPedro Giffuni
4316*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateNonCompliant);
4317*9ea1301dSPedro Giffuni          }
4318*9ea1301dSPedro Giffuni***************
4319*9ea1301dSPedro Giffuni*** 3949,3955 ****
4320*9ea1301dSPedro Giffuni            else {
4321*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4322*9ea1301dSPedro Giffuni              sReport += sSigName;
4323*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\r\n";
4324*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4325*9ea1301dSPedro Giffuni            }
4326*9ea1301dSPedro Giffuni          }
4327*9ea1301dSPedro Giffuni--- 3949,3955 ----
4328*9ea1301dSPedro Giffuni            else {
4329*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4330*9ea1301dSPedro Giffuni              sReport += sSigName;
4331*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\n";
4332*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4333*9ea1301dSPedro Giffuni            }
4334*9ea1301dSPedro Giffuni          }
4335*9ea1301dSPedro Giffuni***************
4336*9ea1301dSPedro Giffuni*** 4311,4317 ****
4337*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4338*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4339*9ea1301dSPedro Giffuni                  sReport += sSigName;
4340*9ea1301dSPedro Giffuni!                 sReport += " - lut8Tags do not support single entry gamma curves.\r\n";
4341*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4342*9ea1301dSPedro Giffuni                }
4343*9ea1301dSPedro Giffuni              }
4344*9ea1301dSPedro Giffuni--- 4311,4317 ----
4345*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4346*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4347*9ea1301dSPedro Giffuni                  sReport += sSigName;
4348*9ea1301dSPedro Giffuni!                 sReport += " - lut8Tags do not support single entry gamma curves.\n";
4349*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4350*9ea1301dSPedro Giffuni                }
4351*9ea1301dSPedro Giffuni              }
4352*9ea1301dSPedro Giffuni***************
4353*9ea1301dSPedro Giffuni*** 4319,4325 ****
4354*9ea1301dSPedro Giffuni            else {
4355*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4356*9ea1301dSPedro Giffuni              sReport += sSigName;
4357*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\r\n";
4358*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4359*9ea1301dSPedro Giffuni            }
4360*9ea1301dSPedro Giffuni          }
4361*9ea1301dSPedro Giffuni--- 4319,4325 ----
4362*9ea1301dSPedro Giffuni            else {
4363*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4364*9ea1301dSPedro Giffuni              sReport += sSigName;
4365*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\n";
4366*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4367*9ea1301dSPedro Giffuni            }
4368*9ea1301dSPedro Giffuni          }
4369*9ea1301dSPedro Giffuni***************
4370*9ea1301dSPedro Giffuni*** 4336,4342 ****
4371*9ea1301dSPedro Giffuni          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
4372*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
4373*9ea1301dSPedro Giffuni            sReport += sSigName;
4374*9ea1301dSPedro Giffuni!           sReport += " - Matrix must be identity.\r\n";
4375*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
4376*9ea1301dSPedro Giffuni          }
4377*9ea1301dSPedro Giffuni        }
4378*9ea1301dSPedro Giffuni--- 4336,4342 ----
4379*9ea1301dSPedro Giffuni          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
4380*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
4381*9ea1301dSPedro Giffuni            sReport += sSigName;
4382*9ea1301dSPedro Giffuni!           sReport += " - Matrix must be identity.\n";
4383*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
4384*9ea1301dSPedro Giffuni          }
4385*9ea1301dSPedro Giffuni        }
4386*9ea1301dSPedro Giffuni***************
4387*9ea1301dSPedro Giffuni*** 4351,4357 ****
4388*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4389*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4390*9ea1301dSPedro Giffuni                  sReport += sSigName;
4391*9ea1301dSPedro Giffuni!                 sReport += " - lut8Tags do not support single entry gamma curves.\r\n";
4392*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4393*9ea1301dSPedro Giffuni                }
4394*9ea1301dSPedro Giffuni              }
4395*9ea1301dSPedro Giffuni--- 4351,4357 ----
4396*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4397*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4398*9ea1301dSPedro Giffuni                  sReport += sSigName;
4399*9ea1301dSPedro Giffuni!                 sReport += " - lut8Tags do not support single entry gamma curves.\n";
4400*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4401*9ea1301dSPedro Giffuni                }
4402*9ea1301dSPedro Giffuni              }
4403*9ea1301dSPedro Giffuni***************
4404*9ea1301dSPedro Giffuni*** 4359,4365 ****
4405*9ea1301dSPedro Giffuni            else {
4406*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4407*9ea1301dSPedro Giffuni              sReport += sSigName;
4408*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\r\n";
4409*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4410*9ea1301dSPedro Giffuni            }
4411*9ea1301dSPedro Giffuni          }
4412*9ea1301dSPedro Giffuni--- 4359,4365 ----
4413*9ea1301dSPedro Giffuni            else {
4414*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4415*9ea1301dSPedro Giffuni              sReport += sSigName;
4416*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\n";
4417*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4418*9ea1301dSPedro Giffuni            }
4419*9ea1301dSPedro Giffuni          }
4420*9ea1301dSPedro Giffuni***************
4421*9ea1301dSPedro Giffuni*** 4721,4727 ****
4422*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4423*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4424*9ea1301dSPedro Giffuni                  sReport += sSigName;
4425*9ea1301dSPedro Giffuni!                 sReport += " - lut16Tags do not support single entry gamma curves.\r\n";
4426*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4427*9ea1301dSPedro Giffuni                }
4428*9ea1301dSPedro Giffuni              }
4429*9ea1301dSPedro Giffuni--- 4721,4727 ----
4430*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4431*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4432*9ea1301dSPedro Giffuni                  sReport += sSigName;
4433*9ea1301dSPedro Giffuni!                 sReport += " - lut16Tags do not support single entry gamma curves.\n";
4434*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4435*9ea1301dSPedro Giffuni                }
4436*9ea1301dSPedro Giffuni              }
4437*9ea1301dSPedro Giffuni***************
4438*9ea1301dSPedro Giffuni*** 4729,4735 ****
4439*9ea1301dSPedro Giffuni            else {
4440*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4441*9ea1301dSPedro Giffuni              sReport += sSigName;
4442*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\r\n";
4443*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4444*9ea1301dSPedro Giffuni            }
4445*9ea1301dSPedro Giffuni          }
4446*9ea1301dSPedro Giffuni--- 4729,4735 ----
4447*9ea1301dSPedro Giffuni            else {
4448*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4449*9ea1301dSPedro Giffuni              sReport += sSigName;
4450*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of B-curves.\n";
4451*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4452*9ea1301dSPedro Giffuni            }
4453*9ea1301dSPedro Giffuni          }
4454*9ea1301dSPedro Giffuni***************
4455*9ea1301dSPedro Giffuni*** 4746,4752 ****
4456*9ea1301dSPedro Giffuni          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
4457*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
4458*9ea1301dSPedro Giffuni            sReport += sSigName;
4459*9ea1301dSPedro Giffuni!           sReport += " - Matrix must be identity.\r\n";
4460*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
4461*9ea1301dSPedro Giffuni          }
4462*9ea1301dSPedro Giffuni        }
4463*9ea1301dSPedro Giffuni--- 4746,4752 ----
4464*9ea1301dSPedro Giffuni          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
4465*9ea1301dSPedro Giffuni            sReport += icValidateWarningMsg;
4466*9ea1301dSPedro Giffuni            sReport += sSigName;
4467*9ea1301dSPedro Giffuni!           sReport += " - Matrix must be identity.\n";
4468*9ea1301dSPedro Giffuni            rv = icMaxStatus(rv, icValidateWarning);
4469*9ea1301dSPedro Giffuni          }
4470*9ea1301dSPedro Giffuni        }
4471*9ea1301dSPedro Giffuni***************
4472*9ea1301dSPedro Giffuni*** 4761,4767 ****
4473*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4474*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4475*9ea1301dSPedro Giffuni                  sReport += sSigName;
4476*9ea1301dSPedro Giffuni!                 sReport += " - lut16Tags do not support single entry gamma curves.\r\n";
4477*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4478*9ea1301dSPedro Giffuni                }
4479*9ea1301dSPedro Giffuni              }
4480*9ea1301dSPedro Giffuni--- 4761,4767 ----
4481*9ea1301dSPedro Giffuni                if (pTagCurve->GetSize()==1) {
4482*9ea1301dSPedro Giffuni                  sReport += icValidateCriticalErrorMsg;
4483*9ea1301dSPedro Giffuni                  sReport += sSigName;
4484*9ea1301dSPedro Giffuni!                 sReport += " - lut16Tags do not support single entry gamma curves.\n";
4485*9ea1301dSPedro Giffuni                  rv = icMaxStatus(rv, icValidateCriticalError);
4486*9ea1301dSPedro Giffuni                }
4487*9ea1301dSPedro Giffuni              }
4488*9ea1301dSPedro Giffuni***************
4489*9ea1301dSPedro Giffuni*** 4769,4775 ****
4490*9ea1301dSPedro Giffuni            else {
4491*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4492*9ea1301dSPedro Giffuni              sReport += sSigName;
4493*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\r\n";
4494*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4495*9ea1301dSPedro Giffuni            }
4496*9ea1301dSPedro Giffuni          }
4497*9ea1301dSPedro Giffuni--- 4769,4775 ----
4498*9ea1301dSPedro Giffuni            else {
4499*9ea1301dSPedro Giffuni              sReport += icValidateCriticalErrorMsg;
4500*9ea1301dSPedro Giffuni              sReport += sSigName;
4501*9ea1301dSPedro Giffuni!             sReport += " - Incorrect number of A-curves.\n";
4502*9ea1301dSPedro Giffuni              rv = icMaxStatus(rv, icValidateCriticalError);
4503*9ea1301dSPedro Giffuni            }
4504*9ea1301dSPedro Giffuni          }
4505*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccTagMPE.cpp   Mon Aug 20 22:05:00 2007
4506*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagMPE.cpp Fri Jan 25 14:23:09 2008
4507*9ea1301dSPedro Giffuni***************
4508*9ea1301dSPedro Giffuni*** 218,224 ****
4509*9ea1301dSPedro Giffuni            icGetSig(sigbuf, m_sig), m_nSize);
4510*9ea1301dSPedro Giffuni    sDescription += buf;
4511*9ea1301dSPedro Giffuni
4512*9ea1301dSPedro Giffuni!   sDescription += "\r\n\r\nData Follows:\r\n";
4513*9ea1301dSPedro Giffuni
4514*9ea1301dSPedro Giffuni    icMemDump(sDescription, m_pData, m_nSize);
4515*9ea1301dSPedro Giffuni
4516*9ea1301dSPedro Giffuni--- 218,224 ----
4517*9ea1301dSPedro Giffuni            icGetSig(sigbuf, m_sig), m_nSize);
4518*9ea1301dSPedro Giffuni    sDescription += buf;
4519*9ea1301dSPedro Giffuni
4520*9ea1301dSPedro Giffuni!   sDescription += "\n\nData Follows:\n";
4521*9ea1301dSPedro Giffuni
4522*9ea1301dSPedro Giffuni    icMemDump(sDescription, m_pData, m_nSize);
4523*9ea1301dSPedro Giffuni
4524*9ea1301dSPedro Giffuni***************
4525*9ea1301dSPedro Giffuni*** 364,370 ****
4526*9ea1301dSPedro Giffuni    sReport += " - Contains unknown processing element type (";
4527*9ea1301dSPedro Giffuni    icGetSig(buf, m_sig, true);
4528*9ea1301dSPedro Giffuni    sReport += buf;
4529*9ea1301dSPedro Giffuni!   sReport += ").\r\n";
4530*9ea1301dSPedro Giffuni
4531*9ea1301dSPedro Giffuni    return icValidateCriticalError;
4532*9ea1301dSPedro Giffuni  }
4533*9ea1301dSPedro Giffuni--- 364,370 ----
4534*9ea1301dSPedro Giffuni    sReport += " - Contains unknown processing element type (";
4535*9ea1301dSPedro Giffuni    icGetSig(buf, m_sig, true);
4536*9ea1301dSPedro Giffuni    sReport += buf;
4537*9ea1301dSPedro Giffuni!   sReport += ").\n";
4538*9ea1301dSPedro Giffuni
4539*9ea1301dSPedro Giffuni    return icValidateCriticalError;
4540*9ea1301dSPedro Giffuni  }
4541*9ea1301dSPedro Giffuni***************
4542*9ea1301dSPedro Giffuni*** 392,398 ****
4543*9ea1301dSPedro Giffuni      sReport += " - Element ";
4544*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
4545*9ea1301dSPedro Giffuni      sReport += sSigName;
4546*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\r\n";
4547*9ea1301dSPedro Giffuni
4548*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4549*9ea1301dSPedro Giffuni    }
4550*9ea1301dSPedro Giffuni--- 392,398 ----
4551*9ea1301dSPedro Giffuni      sReport += " - Element ";
4552*9ea1301dSPedro Giffuni      sSigName = Info.GetSigName(GetType());
4553*9ea1301dSPedro Giffuni      sReport += sSigName;
4554*9ea1301dSPedro Giffuni!     sReport += " - Reserved Value must be zero.\n";
4555*9ea1301dSPedro Giffuni
4556*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4557*9ea1301dSPedro Giffuni    }
4558*9ea1301dSPedro Giffuni***************
4559*9ea1301dSPedro Giffuni*** 738,755 ****
4560*9ea1301dSPedro Giffuni  {
4561*9ea1301dSPedro Giffuni    icChar buf[128];
4562*9ea1301dSPedro Giffuni
4563*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN MULTI_PROCESS_ELEMENT_TAG %d %d\r\n", m_nInputChannels, m_nOutputChannels);
4564*9ea1301dSPedro Giffuni    sDescription += buf;
4565*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
4566*9ea1301dSPedro Giffuni
4567*9ea1301dSPedro Giffuni    CIccMultiProcessElementList::iterator i;
4568*9ea1301dSPedro Giffuni    int j;
4569*9ea1301dSPedro Giffuni
4570*9ea1301dSPedro Giffuni    for (j=0, i=m_list->begin(); i!=m_list->end(); j++, i++) {
4571*9ea1301dSPedro Giffuni!     sprintf(buf, "PROCESS_ELEMENT #%d\r\n", j+1);
4572*9ea1301dSPedro Giffuni      sDescription += buf;
4573*9ea1301dSPedro Giffuni      i->ptr->Describe(sDescription);
4574*9ea1301dSPedro Giffuni!     sDescription += "\r\n";
4575*9ea1301dSPedro Giffuni    }
4576*9ea1301dSPedro Giffuni  }
4577*9ea1301dSPedro Giffuni
4578*9ea1301dSPedro Giffuni--- 738,755 ----
4579*9ea1301dSPedro Giffuni  {
4580*9ea1301dSPedro Giffuni    icChar buf[128];
4581*9ea1301dSPedro Giffuni
4582*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN MULTI_PROCESS_ELEMENT_TAG %d %d\n", m_nInputChannels, m_nOutputChannels);
4583*9ea1301dSPedro Giffuni    sDescription += buf;
4584*9ea1301dSPedro Giffuni!   sDescription += "\n";
4585*9ea1301dSPedro Giffuni
4586*9ea1301dSPedro Giffuni    CIccMultiProcessElementList::iterator i;
4587*9ea1301dSPedro Giffuni    int j;
4588*9ea1301dSPedro Giffuni
4589*9ea1301dSPedro Giffuni    for (j=0, i=m_list->begin(); i!=m_list->end(); j++, i++) {
4590*9ea1301dSPedro Giffuni!     sprintf(buf, "PROCESS_ELEMENT #%d\n", j+1);
4591*9ea1301dSPedro Giffuni      sDescription += buf;
4592*9ea1301dSPedro Giffuni      i->ptr->Describe(sDescription);
4593*9ea1301dSPedro Giffuni!     sDescription += "\n";
4594*9ea1301dSPedro Giffuni    }
4595*9ea1301dSPedro Giffuni  }
4596*9ea1301dSPedro Giffuni
4597*9ea1301dSPedro Giffuni***************
4598*9ea1301dSPedro Giffuni*** 1207,1219 ****
4599*9ea1301dSPedro Giffuni      if (m_nInputChannels != m_nOutputChannels) {
4600*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
4601*9ea1301dSPedro Giffuni        sReport += sSigName;
4602*9ea1301dSPedro Giffuni!       sReport += " No processing elements and input and output channels do not match!\r\n";
4603*9ea1301dSPedro Giffuni        return icValidateCriticalError;
4604*9ea1301dSPedro Giffuni      }
4605*9ea1301dSPedro Giffuni      else {
4606*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4607*9ea1301dSPedro Giffuni        sReport += sSigName;
4608*9ea1301dSPedro Giffuni!       sReport += " No processing elements.\r\n";
4609*9ea1301dSPedro Giffuni        return icValidateWarning;
4610*9ea1301dSPedro Giffuni      }
4611*9ea1301dSPedro Giffuni    }
4612*9ea1301dSPedro Giffuni--- 1207,1219 ----
4613*9ea1301dSPedro Giffuni      if (m_nInputChannels != m_nOutputChannels) {
4614*9ea1301dSPedro Giffuni        sReport += icValidateCriticalErrorMsg;
4615*9ea1301dSPedro Giffuni        sReport += sSigName;
4616*9ea1301dSPedro Giffuni!       sReport += " No processing elements and input and output channels do not match!\n";
4617*9ea1301dSPedro Giffuni        return icValidateCriticalError;
4618*9ea1301dSPedro Giffuni      }
4619*9ea1301dSPedro Giffuni      else {
4620*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4621*9ea1301dSPedro Giffuni        sReport += sSigName;
4622*9ea1301dSPedro Giffuni!       sReport += " No processing elements.\n";
4623*9ea1301dSPedro Giffuni        return icValidateWarning;
4624*9ea1301dSPedro Giffuni      }
4625*9ea1301dSPedro Giffuni    }
4626*9ea1301dSPedro Giffuni***************
4627*9ea1301dSPedro Giffuni*** 1224,1230 ****
4628*9ea1301dSPedro Giffuni    if (i->ptr->NumInputChannels() != m_nInputChannels) {
4629*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
4630*9ea1301dSPedro Giffuni      sReport += sSigName;
4631*9ea1301dSPedro Giffuni!     sReport += " Mis-matching number of input channels!\r\n";
4632*9ea1301dSPedro Giffuni      return icValidateCriticalError;
4633*9ea1301dSPedro Giffuni    }
4634*9ea1301dSPedro Giffuni
4635*9ea1301dSPedro Giffuni--- 1224,1230 ----
4636*9ea1301dSPedro Giffuni    if (i->ptr->NumInputChannels() != m_nInputChannels) {
4637*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
4638*9ea1301dSPedro Giffuni      sReport += sSigName;
4639*9ea1301dSPedro Giffuni!     sReport += " Mis-matching number of input channels!\n";
4640*9ea1301dSPedro Giffuni      return icValidateCriticalError;
4641*9ea1301dSPedro Giffuni    }
4642*9ea1301dSPedro Giffuni
4643*9ea1301dSPedro Giffuni***************
4644*9ea1301dSPedro Giffuni*** 1239,1245 ****
4645*9ea1301dSPedro Giffuni          sReport += "->";
4646*9ea1301dSPedro Giffuni          sReport += i->ptr->GetClassName();
4647*9ea1301dSPedro Giffuni
4648*9ea1301dSPedro Giffuni!         sReport += " Mis-matching number of channels!\r\n";
4649*9ea1301dSPedro Giffuni          return icValidateCriticalError;
4650*9ea1301dSPedro Giffuni        }
4651*9ea1301dSPedro Giffuni      }
4652*9ea1301dSPedro Giffuni--- 1239,1245 ----
4653*9ea1301dSPedro Giffuni          sReport += "->";
4654*9ea1301dSPedro Giffuni          sReport += i->ptr->GetClassName();
4655*9ea1301dSPedro Giffuni
4656*9ea1301dSPedro Giffuni!         sReport += " Mis-matching number of channels!\n";
4657*9ea1301dSPedro Giffuni          return icValidateCriticalError;
4658*9ea1301dSPedro Giffuni        }
4659*9ea1301dSPedro Giffuni      }
4660*9ea1301dSPedro Giffuni***************
4661*9ea1301dSPedro Giffuni*** 1251,1257 ****
4662*9ea1301dSPedro Giffuni    if (last && last->NumOutputChannels() != m_nOutputChannels) {
4663*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
4664*9ea1301dSPedro Giffuni      sReport += sSigName;
4665*9ea1301dSPedro Giffuni!     sReport += " Mis-matching number of output channels!\r\n";
4666*9ea1301dSPedro Giffuni      return icValidateCriticalError;
4667*9ea1301dSPedro Giffuni    }
4668*9ea1301dSPedro Giffuni
4669*9ea1301dSPedro Giffuni--- 1251,1257 ----
4670*9ea1301dSPedro Giffuni    if (last && last->NumOutputChannels() != m_nOutputChannels) {
4671*9ea1301dSPedro Giffuni      sReport += icValidateCriticalErrorMsg;
4672*9ea1301dSPedro Giffuni      sReport += sSigName;
4673*9ea1301dSPedro Giffuni!     sReport += " Mis-matching number of output channels!\n";
4674*9ea1301dSPedro Giffuni      return icValidateCriticalError;
4675*9ea1301dSPedro Giffuni    }
4676*9ea1301dSPedro Giffuni
4677*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.cpp Mon Aug 20 22:05:00 2007
4678*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.cpp   Fri Jan 25 14:23:09 2008
4679*9ea1301dSPedro Giffuni***************
4680*9ea1301dSPedro Giffuni*** 234,240 ****
4681*9ea1301dSPedro Giffuni  {
4682*9ea1301dSPedro Giffuni    std::string Dump;
4683*9ea1301dSPedro Giffuni
4684*9ea1301dSPedro Giffuni!   sDescription += "ProfileID:\r\n";
4685*9ea1301dSPedro Giffuni
4686*9ea1301dSPedro Giffuni    int i;
4687*9ea1301dSPedro Giffuni    char buf[20];
4688*9ea1301dSPedro Giffuni--- 234,240 ----
4689*9ea1301dSPedro Giffuni  {
4690*9ea1301dSPedro Giffuni    std::string Dump;
4691*9ea1301dSPedro Giffuni
4692*9ea1301dSPedro Giffuni!   sDescription += "ProfileID:\n";
4693*9ea1301dSPedro Giffuni
4694*9ea1301dSPedro Giffuni    int i;
4695*9ea1301dSPedro Giffuni    char buf[20];
4696*9ea1301dSPedro Giffuni***************
4697*9ea1301dSPedro Giffuni*** 244,255 ****
4698*9ea1301dSPedro Giffuni      sprintf(buf, "%2x", m_profileID.ID8[i]);
4699*9ea1301dSPedro Giffuni      sDescription += buf;
4700*9ea1301dSPedro Giffuni    }
4701*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
4702*9ea1301dSPedro Giffuni
4703*9ea1301dSPedro Giffuni!   sDescription += "Description:\r\n";
4704*9ea1301dSPedro Giffuni    m_desc.Describe(sDescription);
4705*9ea1301dSPedro Giffuni
4706*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
4707*9ea1301dSPedro Giffuni  }
4708*9ea1301dSPedro Giffuni
4709*9ea1301dSPedro Giffuni
4710*9ea1301dSPedro Giffuni--- 244,255 ----
4711*9ea1301dSPedro Giffuni      sprintf(buf, "%2x", m_profileID.ID8[i]);
4712*9ea1301dSPedro Giffuni      sDescription += buf;
4713*9ea1301dSPedro Giffuni    }
4714*9ea1301dSPedro Giffuni!   sDescription += "\n";
4715*9ea1301dSPedro Giffuni
4716*9ea1301dSPedro Giffuni!   sDescription += "Description:\n";
4717*9ea1301dSPedro Giffuni    m_desc.Describe(sDescription);
4718*9ea1301dSPedro Giffuni
4719*9ea1301dSPedro Giffuni!   sDescription += "\n";
4720*9ea1301dSPedro Giffuni  }
4721*9ea1301dSPedro Giffuni
4722*9ea1301dSPedro Giffuni
4723*9ea1301dSPedro Giffuni***************
4724*9ea1301dSPedro Giffuni*** 434,454 ****
4725*9ea1301dSPedro Giffuni  {
4726*9ea1301dSPedro Giffuni    icChar buf[128];
4727*9ea1301dSPedro Giffuni
4728*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN ProfileSequenceIdentification_TAG\r\n");
4729*9ea1301dSPedro Giffuni    sDescription += buf;
4730*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
4731*9ea1301dSPedro Giffuni
4732*9ea1301dSPedro Giffuni    int i;
4733*9ea1301dSPedro Giffuni    CIccProfileIdDescList::iterator j;
4734*9ea1301dSPedro Giffuni    for (i=0, j=m_list->begin(); j!=m_list->end(); i++, j++) {
4735*9ea1301dSPedro Giffuni!     sprintf(buf, "ProfileDescription_%d:\r\n", i+1);
4736*9ea1301dSPedro Giffuni      sDescription += buf;
4737*9ea1301dSPedro Giffuni      j->Describe(sDescription);
4738*9ea1301dSPedro Giffuni    }
4739*9ea1301dSPedro Giffuni
4740*9ea1301dSPedro Giffuni!   sprintf(buf, "END ProfileSequenceIdentification_TAG\r\n");
4741*9ea1301dSPedro Giffuni    sDescription += buf;
4742*9ea1301dSPedro Giffuni!   sDescription += "\r\n";
4743*9ea1301dSPedro Giffuni  }
4744*9ea1301dSPedro Giffuni
4745*9ea1301dSPedro Giffuni
4746*9ea1301dSPedro Giffuni--- 434,454 ----
4747*9ea1301dSPedro Giffuni  {
4748*9ea1301dSPedro Giffuni    icChar buf[128];
4749*9ea1301dSPedro Giffuni
4750*9ea1301dSPedro Giffuni!   sprintf(buf, "BEGIN ProfileSequenceIdentification_TAG\n");
4751*9ea1301dSPedro Giffuni    sDescription += buf;
4752*9ea1301dSPedro Giffuni!   sDescription += "\n";
4753*9ea1301dSPedro Giffuni
4754*9ea1301dSPedro Giffuni    int i;
4755*9ea1301dSPedro Giffuni    CIccProfileIdDescList::iterator j;
4756*9ea1301dSPedro Giffuni    for (i=0, j=m_list->begin(); j!=m_list->end(); i++, j++) {
4757*9ea1301dSPedro Giffuni!     sprintf(buf, "ProfileDescription_%d:\n", i+1);
4758*9ea1301dSPedro Giffuni      sDescription += buf;
4759*9ea1301dSPedro Giffuni      j->Describe(sDescription);
4760*9ea1301dSPedro Giffuni    }
4761*9ea1301dSPedro Giffuni
4762*9ea1301dSPedro Giffuni!   sprintf(buf, "END ProfileSequenceIdentification_TAG\n");
4763*9ea1301dSPedro Giffuni    sDescription += buf;
4764*9ea1301dSPedro Giffuni!   sDescription += "\n";
4765*9ea1301dSPedro Giffuni  }
4766*9ea1301dSPedro Giffuni
4767*9ea1301dSPedro Giffuni
4768*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.h   Mon Aug 20 22:05:00 2007
4769*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.h Fri Jan 25 14:23:09 2008
4770*9ea1301dSPedro Giffuni***************
4771*9ea1301dSPedro Giffuni*** 161,164 ****
4772*9ea1301dSPedro Giffuni  }
4773*9ea1301dSPedro Giffuni  #endif
4774*9ea1301dSPedro Giffuni
4775*9ea1301dSPedro Giffuni! #endif //_ICCTAGPROFSEQID_H
4776*9ea1301dSPedro Giffuni--- 161,164 ----
4777*9ea1301dSPedro Giffuni  }
4778*9ea1301dSPedro Giffuni  #endif
4779*9ea1301dSPedro Giffuni
4780*9ea1301dSPedro Giffuni! #endif //_ICCTAGPROFSEQID_H
4781*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccUtil.cpp Mon Aug 20 22:05:00 2007
4782*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccUtil.cpp   Fri Jan 25 14:23:09 2008
4783*9ea1301dSPedro Giffuni***************
4784*9ea1301dSPedro Giffuni*** 79,85 ****
4785*9ea1301dSPedro Giffuni  #include "IccUtil.h"
4786*9ea1301dSPedro Giffuni  #include "IccTagFactory.h"
4787*9ea1301dSPedro Giffuni  #include <stdlib.h>
4788*9ea1301dSPedro Giffuni! #include <memory.h>
4789*9ea1301dSPedro Giffuni  #include <ctype.h>
4790*9ea1301dSPedro Giffuni  #include <math.h>
4791*9ea1301dSPedro Giffuni  #include <string.h>
4792*9ea1301dSPedro Giffuni--- 79,85 ----
4793*9ea1301dSPedro Giffuni  #include "IccUtil.h"
4794*9ea1301dSPedro Giffuni  #include "IccTagFactory.h"
4795*9ea1301dSPedro Giffuni  #include <stdlib.h>
4796*9ea1301dSPedro Giffuni! #include <memory>
4797*9ea1301dSPedro Giffuni  #include <ctype.h>
4798*9ea1301dSPedro Giffuni  #include <math.h>
4799*9ea1301dSPedro Giffuni  #include <string.h>
4800*9ea1301dSPedro Giffuni***************
4801*9ea1301dSPedro Giffuni*** 678,688 ****
4802*9ea1301dSPedro Giffuni  {
4803*9ea1301dSPedro Giffuni    icChar buf[128];
4804*9ea1301dSPedro Giffuni
4805*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[0]), icFtoD(pMatrix[1]), icFtoD(pMatrix[2]));
4806*9ea1301dSPedro Giffuni    sDump += buf;
4807*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[3]), icFtoD(pMatrix[4]), icFtoD(pMatrix[5]));
4808*9ea1301dSPedro Giffuni    sDump += buf;
4809*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[6]), icFtoD(pMatrix[7]), icFtoD(pMatrix[8]));
4810*9ea1301dSPedro Giffuni    sDump += buf;
4811*9ea1301dSPedro Giffuni  }
4812*9ea1301dSPedro Giffuni
4813*9ea1301dSPedro Giffuni--- 679,689 ----
4814*9ea1301dSPedro Giffuni  {
4815*9ea1301dSPedro Giffuni    icChar buf[128];
4816*9ea1301dSPedro Giffuni
4817*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[0]), icFtoD(pMatrix[1]), icFtoD(pMatrix[2]));
4818*9ea1301dSPedro Giffuni    sDump += buf;
4819*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[3]), icFtoD(pMatrix[4]), icFtoD(pMatrix[5]));
4820*9ea1301dSPedro Giffuni    sDump += buf;
4821*9ea1301dSPedro Giffuni!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[6]), icFtoD(pMatrix[7]), icFtoD(pMatrix[8]));
4822*9ea1301dSPedro Giffuni    sDump += buf;
4823*9ea1301dSPedro Giffuni  }
4824*9ea1301dSPedro Giffuni
4825*9ea1301dSPedro Giffuni***************
4826*9ea1301dSPedro Giffuni*** 1516,1534 ****
4827*9ea1301dSPedro Giffuni
4828*9ea1301dSPedro Giffuni    if (XYZ.X < 0) {
4829*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4830*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative X value!\r\n";
4831*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4832*9ea1301dSPedro Giffuni    }
4833*9ea1301dSPedro Giffuni
4834*9ea1301dSPedro Giffuni    if (XYZ.Y < 0) {
4835*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4836*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative Y value!\r\n";
4837*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
4838*9ea1301dSPedro Giffuni    }
4839*9ea1301dSPedro Giffuni
4840*9ea1301dSPedro Giffuni    if (XYZ.Z < 0) {
4841*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4842*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative Z value!\r\n";
4843*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
4844*9ea1301dSPedro Giffuni    }
4845*9ea1301dSPedro Giffuni
4846*9ea1301dSPedro Giffuni--- 1517,1535 ----
4847*9ea1301dSPedro Giffuni
4848*9ea1301dSPedro Giffuni    if (XYZ.X < 0) {
4849*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4850*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative X value!\n";
4851*9ea1301dSPedro Giffuni      rv = icValidateNonCompliant;
4852*9ea1301dSPedro Giffuni    }
4853*9ea1301dSPedro Giffuni
4854*9ea1301dSPedro Giffuni    if (XYZ.Y < 0) {
4855*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4856*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative Y value!\n";
4857*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
4858*9ea1301dSPedro Giffuni    }
4859*9ea1301dSPedro Giffuni
4860*9ea1301dSPedro Giffuni    if (XYZ.Z < 0) {
4861*9ea1301dSPedro Giffuni      sReport += icValidateNonCompliantMsg;
4862*9ea1301dSPedro Giffuni!     sReport += " - XYZNumber: Negative Z value!\n";
4863*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateNonCompliant);
4864*9ea1301dSPedro Giffuni    }
4865*9ea1301dSPedro Giffuni
4866*9ea1301dSPedro Giffuni***************
4867*9ea1301dSPedro Giffuni*** 1548,1554 ****
4868*9ea1301dSPedro Giffuni    icChar buf[128];
4869*9ea1301dSPedro Giffuni    if (dateTime.year<1992) {
4870*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4871*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
4872*9ea1301dSPedro Giffuni      sReport += buf;
4873*9ea1301dSPedro Giffuni      rv = icValidateWarning;
4874*9ea1301dSPedro Giffuni    }
4875*9ea1301dSPedro Giffuni--- 1549,1555 ----
4876*9ea1301dSPedro Giffuni    icChar buf[128];
4877*9ea1301dSPedro Giffuni    if (dateTime.year<1992) {
4878*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4879*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid year!\n",dateTime.year);
4880*9ea1301dSPedro Giffuni      sReport += buf;
4881*9ea1301dSPedro Giffuni      rv = icValidateWarning;
4882*9ea1301dSPedro Giffuni    }
4883*9ea1301dSPedro Giffuni***************
4884*9ea1301dSPedro Giffuni*** 1557,1563 ****
4885*9ea1301dSPedro Giffuni    if (newtime->tm_mon==11 && newtime->tm_mday==31) {
4886*9ea1301dSPedro Giffuni      if (dateTime.year>(year+1)) {
4887*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4888*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
4889*9ea1301dSPedro Giffuni        sReport += buf;
4890*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4891*9ea1301dSPedro Giffuni      }
4892*9ea1301dSPedro Giffuni--- 1558,1564 ----
4893*9ea1301dSPedro Giffuni    if (newtime->tm_mon==11 && newtime->tm_mday==31) {
4894*9ea1301dSPedro Giffuni      if (dateTime.year>(year+1)) {
4895*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4896*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid year!\n",dateTime.year);
4897*9ea1301dSPedro Giffuni        sReport += buf;
4898*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4899*9ea1301dSPedro Giffuni      }
4900*9ea1301dSPedro Giffuni***************
4901*9ea1301dSPedro Giffuni*** 1565,1571 ****
4902*9ea1301dSPedro Giffuni    else {
4903*9ea1301dSPedro Giffuni      if (dateTime.year>year) {
4904*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4905*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
4906*9ea1301dSPedro Giffuni        sReport += buf;
4907*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4908*9ea1301dSPedro Giffuni      }
4909*9ea1301dSPedro Giffuni--- 1566,1572 ----
4910*9ea1301dSPedro Giffuni    else {
4911*9ea1301dSPedro Giffuni      if (dateTime.year>year) {
4912*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4913*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid year!\n",dateTime.year);
4914*9ea1301dSPedro Giffuni        sReport += buf;
4915*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4916*9ea1301dSPedro Giffuni      }
4917*9ea1301dSPedro Giffuni***************
4918*9ea1301dSPedro Giffuni*** 1573,1579 ****
4919*9ea1301dSPedro Giffuni
4920*9ea1301dSPedro Giffuni    if (dateTime.month<1 || dateTime.month>12) {
4921*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4922*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid month!\r\n",dateTime.month);
4923*9ea1301dSPedro Giffuni      sReport += buf;
4924*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4925*9ea1301dSPedro Giffuni    }
4926*9ea1301dSPedro Giffuni--- 1574,1580 ----
4927*9ea1301dSPedro Giffuni
4928*9ea1301dSPedro Giffuni    if (dateTime.month<1 || dateTime.month>12) {
4929*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4930*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid month!\n",dateTime.month);
4931*9ea1301dSPedro Giffuni      sReport += buf;
4932*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4933*9ea1301dSPedro Giffuni    }
4934*9ea1301dSPedro Giffuni***************
4935*9ea1301dSPedro Giffuni*** 1580,1586 ****
4936*9ea1301dSPedro Giffuni
4937*9ea1301dSPedro Giffuni    if (dateTime.day<1 || dateTime.day>31) {
4938*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4939*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid day!\r\n",dateTime.day);
4940*9ea1301dSPedro Giffuni      sReport += buf;
4941*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4942*9ea1301dSPedro Giffuni    }
4943*9ea1301dSPedro Giffuni--- 1581,1587 ----
4944*9ea1301dSPedro Giffuni
4945*9ea1301dSPedro Giffuni    if (dateTime.day<1 || dateTime.day>31) {
4946*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4947*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid day!\n",dateTime.day);
4948*9ea1301dSPedro Giffuni      sReport += buf;
4949*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4950*9ea1301dSPedro Giffuni    }
4951*9ea1301dSPedro Giffuni***************
4952*9ea1301dSPedro Giffuni*** 1588,1594 ****
4953*9ea1301dSPedro Giffuni    if (dateTime.month==2) {
4954*9ea1301dSPedro Giffuni      if (dateTime.day>29) {
4955*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4956*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid day for February!\r\n",dateTime.day);
4957*9ea1301dSPedro Giffuni        sReport += buf;
4958*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4959*9ea1301dSPedro Giffuni      }
4960*9ea1301dSPedro Giffuni--- 1589,1595 ----
4961*9ea1301dSPedro Giffuni    if (dateTime.month==2) {
4962*9ea1301dSPedro Giffuni      if (dateTime.day>29) {
4963*9ea1301dSPedro Giffuni        sReport += icValidateWarningMsg;
4964*9ea1301dSPedro Giffuni!       sprintf(buf," - %u: Invalid day for February!\n",dateTime.day);
4965*9ea1301dSPedro Giffuni        sReport += buf;
4966*9ea1301dSPedro Giffuni        rv = icMaxStatus(rv, icValidateWarning);
4967*9ea1301dSPedro Giffuni      }
4968*9ea1301dSPedro Giffuni***************
4969*9ea1301dSPedro Giffuni*** 1596,1602 ****
4970*9ea1301dSPedro Giffuni      if (dateTime.day==29) {
4971*9ea1301dSPedro Giffuni        if ((dateTime.year%4)!=0) {
4972*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
4973*9ea1301dSPedro Giffuni!         sprintf(buf," - %u: Invalid day for February, year is not a leap year(%u)!\r\n",dateTime.day, dateTime.year);
4974*9ea1301dSPedro Giffuni          sReport += buf;
4975*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateWarning);
4976*9ea1301dSPedro Giffuni        }
4977*9ea1301dSPedro Giffuni--- 1597,1603 ----
4978*9ea1301dSPedro Giffuni      if (dateTime.day==29) {
4979*9ea1301dSPedro Giffuni        if ((dateTime.year%4)!=0) {
4980*9ea1301dSPedro Giffuni          sReport += icValidateWarningMsg;
4981*9ea1301dSPedro Giffuni!         sprintf(buf," - %u: Invalid day for February, year is not a leap year(%u)!\n",dateTime.day, dateTime.year);
4982*9ea1301dSPedro Giffuni          sReport += buf;
4983*9ea1301dSPedro Giffuni          rv = icMaxStatus(rv, icValidateWarning);
4984*9ea1301dSPedro Giffuni        }
4985*9ea1301dSPedro Giffuni***************
4986*9ea1301dSPedro Giffuni*** 1605,1611 ****
4987*9ea1301dSPedro Giffuni
4988*9ea1301dSPedro Giffuni    if (dateTime.hours>23) {
4989*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4990*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid hour!\r\n",dateTime.hours);
4991*9ea1301dSPedro Giffuni      sReport += buf;
4992*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
4993*9ea1301dSPedro Giffuni    }
4994*9ea1301dSPedro Giffuni--- 1606,1612 ----
4995*9ea1301dSPedro Giffuni
4996*9ea1301dSPedro Giffuni    if (dateTime.hours>23) {
4997*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
4998*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid hour!\n",dateTime.hours);
4999*9ea1301dSPedro Giffuni      sReport += buf;
5000*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
5001*9ea1301dSPedro Giffuni    }
5002*9ea1301dSPedro Giffuni***************
5003*9ea1301dSPedro Giffuni*** 1612,1618 ****
5004*9ea1301dSPedro Giffuni
5005*9ea1301dSPedro Giffuni    if (dateTime.minutes>59) {
5006*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
5007*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid minutes!\r\n",dateTime.minutes);
5008*9ea1301dSPedro Giffuni      sReport += buf;
5009*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
5010*9ea1301dSPedro Giffuni    }
5011*9ea1301dSPedro Giffuni--- 1613,1619 ----
5012*9ea1301dSPedro Giffuni
5013*9ea1301dSPedro Giffuni    if (dateTime.minutes>59) {
5014*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
5015*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid minutes!\n",dateTime.minutes);
5016*9ea1301dSPedro Giffuni      sReport += buf;
5017*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
5018*9ea1301dSPedro Giffuni    }
5019*9ea1301dSPedro Giffuni***************
5020*9ea1301dSPedro Giffuni*** 1619,1625 ****
5021*9ea1301dSPedro Giffuni
5022*9ea1301dSPedro Giffuni    if (dateTime.seconds>59) {
5023*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
5024*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid seconds!\r\n",dateTime.hours);
5025*9ea1301dSPedro Giffuni      sReport += buf;
5026*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
5027*9ea1301dSPedro Giffuni    }
5028*9ea1301dSPedro Giffuni--- 1620,1626 ----
5029*9ea1301dSPedro Giffuni
5030*9ea1301dSPedro Giffuni    if (dateTime.seconds>59) {
5031*9ea1301dSPedro Giffuni      sReport += icValidateWarningMsg;
5032*9ea1301dSPedro Giffuni!     sprintf(buf," - %u: Invalid seconds!\n",dateTime.hours);
5033*9ea1301dSPedro Giffuni      sReport += buf;
5034*9ea1301dSPedro Giffuni      rv = icMaxStatus(rv, icValidateWarning);
5035*9ea1301dSPedro Giffuni    }
5036*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/icProfileHeader.h   Mon Aug 20 22:05:00 2007
5037*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/icProfileHeader.h Fri Jan 25 14:23:09 2008
5038*9ea1301dSPedro Giffuni***************
5039*9ea1301dSPedro Giffuni*** 659,668 ****
5040*9ea1301dSPedro Giffuni  typedef enum {
5041*9ea1301dSPedro Giffuni      icFlare0                            = 0x00000000,  /* 0% flare */
5042*9ea1301dSPedro Giffuni      icFlare100                          = 0x00000001,  /* 100% flare */
5043*9ea1301dSPedro Giffuni  } icMeasurementFlare;
5044*9ea1301dSPedro Giffuni
5045*9ea1301dSPedro Giffuni  /** Convenience Enum Definition - Not defined in ICC specification*/
5046*9ea1301dSPedro Giffuni! #define icMaxEnumFlare ((icMeasurementFlare) 0xFFFFFFFF)
5047*9ea1301dSPedro Giffuni  #define icMaxFlare     ((icMeasurementFlare) 0xFFFFFFFF) /* as defined by earlier versions */
5048*9ea1301dSPedro Giffuni
5049*9ea1301dSPedro Giffuni
5050*9ea1301dSPedro Giffuni--- 659,669 ----
5051*9ea1301dSPedro Giffuni  typedef enum {
5052*9ea1301dSPedro Giffuni      icFlare0                            = 0x00000000,  /* 0% flare */
5053*9ea1301dSPedro Giffuni      icFlare100                          = 0x00000001,  /* 100% flare */
5054*9ea1301dSPedro Giffuni+     icMaxEnumFlare                      = 0xFFFFFFFF
5055*9ea1301dSPedro Giffuni  } icMeasurementFlare;
5056*9ea1301dSPedro Giffuni
5057*9ea1301dSPedro Giffuni  /** Convenience Enum Definition - Not defined in ICC specification*/
5058*9ea1301dSPedro Giffuni! /*#define icMaxEnumFlare ((icMeasurementFlare) 0xFFFFFFFF)*/
5059*9ea1301dSPedro Giffuni  #define icMaxFlare     ((icMeasurementFlare) 0xFFFFFFFF) /* as defined by earlier versions */
5060*9ea1301dSPedro Giffuni
5061*9ea1301dSPedro Giffuni
5062*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Tools/CmdLine/Makefile.in  Mon Aug 20 22:10:42 2007
5063*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Tools/CmdLine/Makefile.in    Fri Jan 25 14:23:09 2008
5064*9ea1301dSPedro Giffuni***************
5065*9ea1301dSPedro Giffuni*** 101,117 ****
5066*9ea1301dSPedro Giffuni  am__quote = @am__quote@
5067*9ea1301dSPedro Giffuni  install_sh = @install_sh@
5068*9ea1301dSPedro Giffuni
5069*9ea1301dSPedro Giffuni! SUBDIRS = IccApplyNamedCmm \
5070*9ea1301dSPedro Giffuni!   @SICC_ICC_APPLY_PROFILES@ \
5071*9ea1301dSPedro Giffuni!   IccDumpProfile \
5072*9ea1301dSPedro Giffuni    IccProfLibTest \
5073*9ea1301dSPedro Giffuni    IccStripUnknownTags \
5074*9ea1301dSPedro Giffuni    IccV4ToMPE
5075*9ea1301dSPedro Giffuni
5076*9ea1301dSPedro Giffuni
5077*9ea1301dSPedro Giffuni! DIST_SUBDIRS = IccApplyNamedCmm \
5078*9ea1301dSPedro Giffuni!   IccApplyProfiles \
5079*9ea1301dSPedro Giffuni!   IccDumpProfile \
5080*9ea1301dSPedro Giffuni    IccProfLibTest \
5081*9ea1301dSPedro Giffuni    IccStripUnknownTags \
5082*9ea1301dSPedro Giffuni    IccV4ToMPE
5083*9ea1301dSPedro Giffuni--- 101,113 ----
5084*9ea1301dSPedro Giffuni  am__quote = @am__quote@
5085*9ea1301dSPedro Giffuni  install_sh = @install_sh@
5086*9ea1301dSPedro Giffuni
5087*9ea1301dSPedro Giffuni! SUBDIRS = IccDumpProfile \
5088*9ea1301dSPedro Giffuni    IccProfLibTest \
5089*9ea1301dSPedro Giffuni    IccStripUnknownTags \
5090*9ea1301dSPedro Giffuni    IccV4ToMPE
5091*9ea1301dSPedro Giffuni
5092*9ea1301dSPedro Giffuni
5093*9ea1301dSPedro Giffuni! DIST_SUBDIRS = IccDumpProfile \
5094*9ea1301dSPedro Giffuni    IccProfLibTest \
5095*9ea1301dSPedro Giffuni    IccStripUnknownTags \
5096*9ea1301dSPedro Giffuni    IccV4ToMPE
5097*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/CLUT.cpp 2007-08-20 22:04:53.000000000 +0200
5098*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/CLUT.cpp   2008-01-31 13:53:16.000000000 +0100
5099*9ea1301dSPedro Giffuni***************
5100*9ea1301dSPedro Giffuni*** 77,82 ****
5101*9ea1301dSPedro Giffuni--- 77,84 ----
5102*9ea1301dSPedro Giffuni  //
5103*9ea1301dSPedro Giffuni  //////////////////////////////////////////////////////////////////////
5104*9ea1301dSPedro Giffuni
5105*9ea1301dSPedro Giffuni+ #include <stdlib.h>
5106*9ea1301dSPedro Giffuni+ #include <string.h>
5107*9ea1301dSPedro Giffuni  #include <iostream>
5108*9ea1301dSPedro Giffuni  #include <fstream>
5109*9ea1301dSPedro Giffuni  #include <sstream>
5110*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/ICC_tool_exception.h 2007-08-20 22:04:54.000000000 +0200
5111*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/ICC_tool_exception.h   2008-01-31 13:54:51.000000000 +0100
5112*9ea1301dSPedro Giffuni***************
5113*9ea1301dSPedro Giffuni*** 83,88 ****
5114*9ea1301dSPedro Giffuni--- 83,89 ----
5115*9ea1301dSPedro Giffuni  #ifndef __DEFINED_ICC_TOOL_EXCEPTION_H__
5116*9ea1301dSPedro Giffuni  #define __DEFINED_ICC_TOOL_EXCEPTION_H__
5117*9ea1301dSPedro Giffuni
5118*9ea1301dSPedro Giffuni+ #include <string.h>
5119*9ea1301dSPedro Giffuni  #include <exception>
5120*9ea1301dSPedro Giffuni  #include <string>
5121*9ea1301dSPedro Giffuni
5122*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/IccProfLib/IccCmm.cpp  2007-08-20 22:05:00.000000000 +0200
5123*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/IccProfLib/IccCmm.cpp    2008-01-31 13:49:54.000000000 +0100
5124*9ea1301dSPedro Giffuni***************
5125*9ea1301dSPedro Giffuni*** 79,84 ****
5126*9ea1301dSPedro Giffuni--- 79,86 ----
5127*9ea1301dSPedro Giffuni  #pragma warning( disable: 4786) //disable warning in <list.h>
5128*9ea1301dSPedro Giffuni  #endif
5129*9ea1301dSPedro Giffuni
5130*9ea1301dSPedro Giffuni+ #include <stdlib.h>
5131*9ea1301dSPedro Giffuni+ #include <string.h>
5132*9ea1301dSPedro Giffuni  #include "IccCmm.h"
5133*9ea1301dSPedro Giffuni  #include "IccTag.h"
5134*9ea1301dSPedro Giffuni  #include "IccIO.h"
5135*9ea1301dSPedro Giffuni*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.h    2007-08-20 22:04:53.000000000 +0200
5136*9ea1301dSPedro Giffuni--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.h  2008-01-31 14:05:58.000000000 +0100
5137*9ea1301dSPedro Giffuni***************
5138*9ea1301dSPedro Giffuni*** 83,88 ****
5139*9ea1301dSPedro Giffuni--- 83,89 ----
5140*9ea1301dSPedro Giffuni  #include <string>
5141*9ea1301dSPedro Giffuni  #include <sys/types.h>
5142*9ea1301dSPedro Giffuni  #include <sys/stat.h>
5143*9ea1301dSPedro Giffuni+ #include <stdlib.h>
5144*9ea1301dSPedro Giffuni
5145*9ea1301dSPedro Giffuni  #ifdef WIN32
5146*9ea1301dSPedro Giffuni  typedef unsigned short mode_t;
5147