*** misc/SampleICC-1.3.2/configure	Mon Aug 20 22:10:59 2007
--- misc/build/SampleICC-1.3.2/configure	Fri Jan 25 14:23:09 2008
***************
*** 19991,19997 ****
  
  
  
!                                                                                                                                                                                                                                                                     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"
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
  # tests run on this system so they can be shared between configure
--- 19991,19997 ----
  
  
  
!                                                                                                                                                                                                                                                                     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"
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
  # tests run on this system so they can be shared between configure
***************
*** 20571,20578 ****
    "IccProfLib/Makefile" ) CONFIG_FILES="$CONFIG_FILES IccProfLib/Makefile" ;;
    "Tools/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/Makefile" ;;
    "Tools/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/Makefile" ;;
-   "Tools/CmdLine/IccApplyNamedCmm/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccApplyNamedCmm/Makefile" ;;
-   "Tools/CmdLine/IccApplyProfiles/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccApplyProfiles/Makefile" ;;
    "Tools/CmdLine/IccDumpProfile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccDumpProfile/Makefile" ;;
    "Tools/CmdLine/IccProfLibTest/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccProfLibTest/Makefile" ;;
    "Tools/CmdLine/IccStripUnknownTags/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccStripUnknownTags/Makefile" ;;
--- 20571,20576 ----
***************
*** 20579,20598 ****
    "Tools/CmdLine/IccV4ToMPE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccV4ToMPE/Makefile" ;;
    "Contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Makefile" ;;
    "Contrib/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/Makefile" ;;
!   "Contrib/CmdLine/create_CLUT_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_CLUT_profile/Makefile" ;;
!   "Contrib/CmdLine/create_CLUT_profile_from_probe/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_CLUT_profile_from_probe/Makefile" ;;
!   "Contrib/CmdLine/create_display_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_display_profile/Makefile" ;;
    "Contrib/ICC_utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/ICC_utils/Makefile" ;;
-   "Contrib/Mac_OS_X/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/Makefile" ;;
-   "Contrib/Mac_OS_X/create_probe/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/create_probe/Makefile" ;;
-   "Contrib/Mac_OS_X/extract_probe_data/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Mac_OS_X/extract_probe_data/Makefile" ;;
-   "Contrib/examples/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/examples/Makefile" ;;
-   "Contrib/examples/RSR/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/examples/RSR/Makefile" ;;
-   "Contrib/tests/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/Makefile" ;;
-   "Contrib/tests/flatten_AToB_tag/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/flatten_AToB_tag/Makefile" ;;
-   "Contrib/tests/generate_device_codes/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/generate_device_codes/Makefile" ;;
-   "Contrib/tests/reconstruct_measurements/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/reconstruct_measurements/Makefile" ;;
-   "Contrib/tests/round_trip_PCS_LAB/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/tests/round_trip_PCS_LAB/Makefile" ;;
    "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
--- 20577,20584 ----
    "Tools/CmdLine/IccV4ToMPE/Makefile" ) CONFIG_FILES="$CONFIG_FILES Tools/CmdLine/IccV4ToMPE/Makefile" ;;
    "Contrib/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/Makefile" ;;
    "Contrib/CmdLine/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/Makefile" ;;
!   "Contrib/CmdLine/create_sRGB_profile/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/CmdLine/create_sRGB_profile/Makefile" ;;
    "Contrib/ICC_utils/Makefile" ) CONFIG_FILES="$CONFIG_FILES Contrib/ICC_utils/Makefile" ;;
    "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
  echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
*** misc/SampleICC-1.3.2/Contrib/Makefile.in	Mon Aug 20 22:10:37 2007
--- misc/build/SampleICC-1.3.2/Contrib/Makefile.in	Fri Jan 25 14:23:09 2008
***************
*** 103,120 ****
  
  SUBDIRS = \
  	ICC_utils \
! 	CmdLine \
! 	examples \
! 	Mac_OS_X \
! 	tests
  
  
  DIST_SUBDIRS = \
  	ICC_utils \
! 	CmdLine \
! 	examples \
! 	Mac_OS_X \
! 	tests
  
  subdir = Contrib
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
--- 103,114 ----
  
  SUBDIRS = \
  	ICC_utils \
! 	CmdLine
  
  
  DIST_SUBDIRS = \
  	ICC_utils \
! 	CmdLine
  
  subdir = Contrib
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
*** misc/SampleICC-1.3.2/Contrib/CmdLine/Makefile.in	Mon Aug 20 22:10:34 2007
--- misc/build/SampleICC-1.3.2/Contrib/CmdLine/Makefile.in	Fri Jan 25 14:23:09 2008
***************
*** 102,116 ****
  install_sh = @install_sh@
  
  SUBDIRS = \
! 	create_CLUT_profile \
! 	create_CLUT_profile_from_probe \
! 	create_display_profile
  
  
  DIST_SUBDIRS = \
! 	create_CLUT_profile \
! 	create_CLUT_profile_from_probe \
! 	create_display_profile
  
  subdir = Contrib/CmdLine
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
--- 102,112 ----
  install_sh = @install_sh@
  
  SUBDIRS = \
! 	create_sRGB_profile
  
  
  DIST_SUBDIRS = \
! 	create_sRGB_profile
  
  subdir = Contrib/CmdLine
  mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Makefile.in	Mon Aug 20 22:10:35 2007
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Makefile.in	Fri Jan 25 14:23:09 2008
***************
*** 133,139 ****
  CONFIG_CLEAN_FILES =
  LTLIBRARIES = $(lib_LTLIBRARIES)
  
! libICC_utils_la_LIBADD =
  am_libICC_utils_la_OBJECTS = Stubs.lo CAT.lo CLUT.lo CLUT_stuffer.lo \
  	ICC_tool_exception.lo Vetters.lo
  libICC_utils_la_OBJECTS = $(am_libICC_utils_la_OBJECTS)
--- 133,139 ----
  CONFIG_CLEAN_FILES =
  LTLIBRARIES = $(lib_LTLIBRARIES)
  
! libICC_utils_la_LIBADD = $(LDADD)
  am_libICC_utils_la_OBJECTS = Stubs.lo CAT.lo CLUT.lo CLUT_stuffer.lo \
  	ICC_tool_exception.lo Vetters.lo
  libICC_utils_la_OBJECTS = $(am_libICC_utils_la_OBJECTS)
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Stubs.h	Mon Aug 20 22:04:53 2007
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Stubs.h	Fri Jan 25 14:23:09 2008
***************
*** 130,136 ****
  
    // use one of these to force desired sort order in assoc. containers of DPX
    bool
!   DPX::operator<(const DPX& p) const
    {
      return (r_ != p.r_) ? (r_ < p.r_) : ((g_ != p.g_) ? (g_ < p.g_) : (b_ < p.b_));
    }
--- 130,136 ----
  
    // use one of these to force desired sort order in assoc. containers of DPX
    bool
!   operator<(const DPX& p) const
    {
      return (r_ != p.r_) ? (r_ < p.r_) : ((g_ != p.g_) ? (g_ < p.g_) : (b_ < p.b_));
    }
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.cpp	Mon Aug 20 22:04:54 2007
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.cpp	Fri Jan 25 14:57:06 2008
***************
*** 1,322 ****
! /*
!  File:       Vetters.cpp
!  
!  Contains:   Utility functions to handle common argument-checking tasks, in a 
!              way that hides platform-specific details from higher-level code.
!  
!  Version:    V1
!  
!  Copyright:  © see below
!  */
! 
! /*
!  * The ICC Software License, Version 0.1
!  *
!  *
!  * Copyright (c) 2003-2006 The International Color Consortium. All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        The International Color Consortium (www.color.org)"
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "ICC" and "The International Color Consortium" must
!  *    not be used to imply that the ICC organization endorses or
!  *    promotes products derived from this software without prior
!  *    written permission. For written permission, please see
!  *    <http://www.color.org/>.
!  *
!  *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
!  * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
!  *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the The International Color Consortium. 
!  *
!  *
!  * Membership in the ICC is encouraged when this software is used for
!  * commercial purposes. 
!  *
!  *  
!  * For more information on The International Color Consortium, please
!  * see <http://www.color.org/>.
!  *  
!  * 
!  */
! 
! ////////////////////////////////////////////////////////////////////// 
! // HISTORY:
! //
! // -Initial implementation by Joseph Goldstone sumer 2007
! //
! //////////////////////////////////////////////////////////////////////
! 
! #include "Vetters.h"
! 
! #include <sstream>
! using namespace std;
! 
! #ifndef WIN32
! #include <sys/errno.h>
! #else
! #include <string.h>
! int strerror_r(int errnum, char *str, int strsize)
! {
!   const char *errstr = strerror(errnum);
! 
!   if (errstr) {
!     strncpy(str, errstr, strsize);
!     return 0;
!   }
! 
!   return -1;
! }
! #define stat _stat
! #endif
! 
! #include "ICC_tool_exception.h"
! 
! const char*
! path_tail(const char* const s)
! {
!   const char* tail = strdup(s);
!   const char* last_slash = strrchr(tail, '/');
!   if (last_slash != NULL)
!     tail = last_slash + 1;
!   return tail;
! }
!     
! void
! vet_as_int(const char* const s, const string& name,
!            const string& description)
! {
!   istringstream ss(s);
!   int i;
!   ss >> i;
!   if (ss.fail())
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
!       << " an integer.  It should be an integer representing "
!       << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! void
! vet_as_float(const char* const s, const string& name,
!              const string& description)
! {
!   istringstream ss(s);
!   float i;
!   ss >> i;
!   if (ss.fail())
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
!       << " a floating-point number.  It should be a floating-point number"
!       << " representing " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! #define STRERROR_BUF_SIZE 256
! off_t
! get_size(const char* const s)
! { 
!   struct stat sb;
!   int stat_returned = stat(s, &sb);
!   if (stat_returned < 0)
!   {
!     int stat_errno = errno;
!     char strerror_buf[STRERROR_BUF_SIZE];
!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
!     ostringstream oss;
!     oss << "Could not access information for file `" << s << "': "
!       << strerror_buf;
!     throw ICC_tool_exception(oss.str());
!   }
!   return sb.st_size;
! }
! 
! bool
! check_mode(const char* const s, mode_t mode)
! { 
!   struct stat sb;
!   int stat_returned = stat(s, &sb);
!   if (stat_returned < 0)
!   {
!     int stat_errno = errno;
!     char strerror_buf[STRERROR_BUF_SIZE];
!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
!     ostringstream oss;
!     oss << "Could not access information for file `" << s << "': "
!       << strerror_buf;
!     throw ICC_tool_exception(oss.str());
!   }
!   return (sb.st_mode & mode) != 0;
! }
! 
! bool
! is_existent_file_pathname(const char* const s)
! {
!   struct stat sb;
!   return stat(s, &sb) == 0;
! }
! 
! bool
! is_plain_file_pathname(const char* const s)
! {
!   return check_mode(s, S_IFREG);
! }
! 
! bool
! is_directory(const char* const s)
! {
!   return check_mode(s, S_IFDIR);
! }
! 
! const char* const
! containing_directory(const char* const s)
! {
!   if (strlen(s) == 0)
!     throw ICC_tool_exception("name of directory passed to containing_directory"
!                              " function was zero-length.");
!   char* tmp = strdup(s);
!   // lop off any trailing seperator
!   if (tmp[strlen(tmp) - 1] == '/')
!     tmp[strlen(tmp) - 1] = 0;
!   if (strlen(tmp) == 0)
!     throw ICC_tool_exception("root directory (which has no containing"
!                              " directory) passed to containing_directory"
!                              " function");
!   char* idx = strrchr(tmp, '/');
!   if (idx != NULL)
!   {
!     *idx = 0;
!     return tmp;
!   }
!   char* current_directory = getenv("PWD");
!   if (current_directory == NULL)
!     throw ICC_tool_exception("pathname passed to containing_directory has no"
!                              " embedded seperator, and there is no value for"
!                              " PWD defined in the environment");
!   return strdup(current_directory);
! }
! 
! bool
! is_readable_pathname(const char* const s)
! {
!   return check_mode(s, S_IRUSR)
!   || check_mode(s, S_IRGRP)
!   || check_mode(s, S_IROTH);
! }
! 
! bool
! is_writable_pathname(const char* const s)
! {
!   return check_mode(s, S_IWUSR)
!   || check_mode(s, S_IWGRP)
!   || check_mode(s, S_IWOTH);
! }
! 
! bool
! is_pathname_of_empty_file(const char* const s)
! {
!   return get_size(s) > 0;
! }
! 
! void
! vet_input_file_pathname(const char* const s, const string& name,
!                         const string& description)
! {
!   if (! is_plain_file_pathname(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of a plain file (i.e. it is the pathname of a directory, or of a"
!       << " symbolic link, or of some other sort of special file.)  It should be"
!       << " " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
!   if (! is_readable_pathname(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of a readable file (i.e. you do not have permission to read that"
!       << " file, or you do not have permission to read some directory"
!       << " containing that file.";
!       throw ICC_tool_exception(oss.str());
!   }
!   if (! is_pathname_of_empty_file(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of an existing readable file, but that file is of zero length."
!       << " The argument should be " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! void
! vet_output_file_pathname(const char* const s, const string& name,
!                          const string& description,
!                          bool silent_overwrite_OK)
! {
!   const char* const container = containing_directory(s);
!   if (! is_writable_pathname(container))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', has a directory"
!       << " component which is not writable."
!       << " The argument should be " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
!   if (is_existent_file_pathname(s))
!   {
!     if (is_plain_file_pathname(s))
!       if (is_writable_pathname(s))
!       {
!         if (! silent_overwrite_OK)
!         {
!           ostringstream oss;
!           oss << "The " << name << " argument given, `" << s << "' is of an existing"
!             << " file."
!             << " The argument should be " << description << ".";
!           throw ICC_tool_exception(oss.str());
!         }
!       } else {
!         ostringstream oss;
!         oss << "The " << name << " argument given, `" << s << "' is of an existing"
!           << " file which is not writable."
!           << " The argument should be " << description << ".";
!         throw ICC_tool_exception(oss.str());
!       }
!   }
! }
--- 1,325 ----
! /*
!  File:       Vetters.cpp
!  
!  Contains:   Utility functions to handle common argument-checking tasks, in a 
!              way that hides platform-specific details from higher-level code.
!  
!  Version:    V1
!  
!  Copyright:  © see below
!  */
! 
! /*
!  * The ICC Software License, Version 0.1
!  *
!  *
!  * Copyright (c) 2003-2006 The International Color Consortium. All rights 
!  * reserved.
!  *
!  * Redistribution and use in source and binary forms, with or without
!  * modification, are permitted provided that the following conditions
!  * are met:
!  *
!  * 1. Redistributions of source code must retain the above copyright
!  *    notice, this list of conditions and the following disclaimer. 
!  *
!  * 2. Redistributions in binary form must reproduce the above copyright
!  *    notice, this list of conditions and the following disclaimer in
!  *    the documentation and/or other materials provided with the
!  *    distribution.
!  *
!  * 3. The end-user documentation included with the redistribution,
!  *    if any, must include the following acknowledgment:  
!  *       "This product includes software developed by the
!  *        The International Color Consortium (www.color.org)"
!  *    Alternately, this acknowledgment may appear in the software itself,
!  *    if and wherever such third-party acknowledgments normally appear.
!  *
!  * 4. The names "ICC" and "The International Color Consortium" must
!  *    not be used to imply that the ICC organization endorses or
!  *    promotes products derived from this software without prior
!  *    written permission. For written permission, please see
!  *    <http://www.color.org/>.
!  *
!  *
!  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
!  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
!  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
!  * DISCLAIMED.  IN NO EVENT SHALL THE INTERNATIONAL COLOR CONSORTIUM OR
!  * ITS CONTRIBUTING MEMBERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
!  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
!  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
!  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
!  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
!  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
!  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
!  * SUCH DAMAGE.
!  * ====================================================================
!  *
!  * This software consists of voluntary contributions made by many
!  * individuals on behalf of the The International Color Consortium. 
!  *
!  *
!  * Membership in the ICC is encouraged when this software is used for
!  * commercial purposes. 
!  *
!  *  
!  * For more information on The International Color Consortium, please
!  * see <http://www.color.org/>.
!  *  
!  * 
!  */
! 
! ////////////////////////////////////////////////////////////////////// 
! // HISTORY:
! //
! // -Initial implementation by Joseph Goldstone sumer 2007
! //
! //////////////////////////////////////////////////////////////////////
! 
! #include "Vetters.h"
! 
! #include <sstream>
! using namespace std;
! 
! #ifndef WIN32
! #include <errno.h>
! #else
! #include <string.h>
! #define stat _stat
! #endif
! 
! #if defined WIN32 || defined sun
! int strerror_r(int errnum, char *str, int strsize)
! {
!   const char *errstr = strerror(errnum);
! 
!   if (errstr) {
!     strncpy(str, errstr, strsize);
!     return 0;
!   }
! 
!   return -1;
! }
! #endif
! 
! #include "ICC_tool_exception.h"
! 
! const char*
! path_tail(const char* const s)
! {
!   const char* tail = strdup(s);
!   const char* last_slash = strrchr(tail, '/');
!   if (last_slash != NULL)
!     tail = last_slash + 1;
!   return tail;
! }
!     
! void
! vet_as_int(const char* const s, const string& name,
!            const string& description)
! {
!   istringstream ss(s);
!   int i;
!   ss >> i;
!   if (ss.fail())
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
!       << " an integer.  It should be an integer representing "
!       << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! void
! vet_as_float(const char* const s, const string& name,
!              const string& description)
! {
!   istringstream ss(s);
!   float i;
!   ss >> i;
!   if (ss.fail())
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', cannot be parsed as"
!       << " a floating-point number.  It should be a floating-point number"
!       << " representing " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! #define STRERROR_BUF_SIZE 256
! off_t
! get_size(const char* const s)
! { 
!   struct stat sb;
!   int stat_returned = stat(s, &sb);
!   if (stat_returned < 0)
!   {
!     int stat_errno = errno;
!     char strerror_buf[STRERROR_BUF_SIZE];
!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
!     ostringstream oss;
!     oss << "Could not access information for file `" << s << "': "
!       << strerror_buf;
!     throw ICC_tool_exception(oss.str());
!   }
!   return sb.st_size;
! }
! 
! bool
! check_mode(const char* const s, mode_t mode)
! { 
!   struct stat sb;
!   int stat_returned = stat(s, &sb);
!   if (stat_returned < 0)
!   {
!     int stat_errno = errno;
!     char strerror_buf[STRERROR_BUF_SIZE];
!     strerror_r(stat_errno, strerror_buf, STRERROR_BUF_SIZE);
!     ostringstream oss;
!     oss << "Could not access information for file `" << s << "': "
!       << strerror_buf;
!     throw ICC_tool_exception(oss.str());
!   }
!   return (sb.st_mode & mode) != 0;
! }
! 
! bool
! is_existent_file_pathname(const char* const s)
! {
!   struct stat sb;
!   return stat(s, &sb) == 0;
! }
! 
! bool
! is_plain_file_pathname(const char* const s)
! {
!   return check_mode(s, S_IFREG);
! }
! 
! bool
! is_directory(const char* const s)
! {
!   return check_mode(s, S_IFDIR);
! }
! 
! const char* const
! containing_directory(const char* const s)
! {
!   if (strlen(s) == 0)
!     throw ICC_tool_exception("name of directory passed to containing_directory"
!                              " function was zero-length.");
!   char* tmp = strdup(s);
!   // lop off any trailing seperator
!   if (tmp[strlen(tmp) - 1] == '/')
!     tmp[strlen(tmp) - 1] = 0;
!   if (strlen(tmp) == 0)
!     throw ICC_tool_exception("root directory (which has no containing"
!                              " directory) passed to containing_directory"
!                              " function");
!   char* idx = strrchr(tmp, '/');
!   if (idx != NULL)
!   {
!     *idx = 0;
!     return tmp;
!   }
!   char* current_directory = getenv("PWD");
!   if (current_directory == NULL)
!     throw ICC_tool_exception("pathname passed to containing_directory has no"
!                              " embedded seperator, and there is no value for"
!                              " PWD defined in the environment");
!   return strdup(current_directory);
! }
! 
! bool
! is_readable_pathname(const char* const s)
! {
!   return check_mode(s, S_IRUSR)
!   || check_mode(s, S_IRGRP)
!   || check_mode(s, S_IROTH);
! }
! 
! bool
! is_writable_pathname(const char* const s)
! {
!   return check_mode(s, S_IWUSR)
!   || check_mode(s, S_IWGRP)
!   || check_mode(s, S_IWOTH);
! }
! 
! bool
! is_pathname_of_empty_file(const char* const s)
! {
!   return get_size(s) > 0;
! }
! 
! void
! vet_input_file_pathname(const char* const s, const string& name,
!                         const string& description)
! {
!   if (! is_plain_file_pathname(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of a plain file (i.e. it is the pathname of a directory, or of a"
!       << " symbolic link, or of some other sort of special file.)  It should be"
!       << " " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
!   if (! is_readable_pathname(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of a readable file (i.e. you do not have permission to read that"
!       << " file, or you do not have permission to read some directory"
!       << " containing that file.";
!       throw ICC_tool_exception(oss.str());
!   }
!   if (! is_pathname_of_empty_file(s))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', is not the pathname"
!       << " of an existing readable file, but that file is of zero length."
!       << " The argument should be " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
! }
! 
! void
! vet_output_file_pathname(const char* const s, const string& name,
!                          const string& description,
!                          bool silent_overwrite_OK)
! {
!   const char* const container = containing_directory(s);
!   if (! is_writable_pathname(container))
!   {
!     ostringstream oss;
!     oss << "The " << name << " argument given, `" << s << "', has a directory"
!       << " component which is not writable."
!       << " The argument should be " << description << ".";
!     throw ICC_tool_exception(oss.str());
!   }
!   if (is_existent_file_pathname(s))
!   {
!     if (is_plain_file_pathname(s))
!       if (is_writable_pathname(s))
!       {
!         if (! silent_overwrite_OK)
!         {
!           ostringstream oss;
!           oss << "The " << name << " argument given, `" << s << "' is of an existing"
!             << " file."
!             << " The argument should be " << description << ".";
!           throw ICC_tool_exception(oss.str());
!         }
!       } else {
!         ostringstream oss;
!         oss << "The " << name << " argument given, `" << s << "' is of an existing"
!           << " file which is not writable."
!           << " The argument should be " << description << ".";
!         throw ICC_tool_exception(oss.str());
!       }
!   }
! }
*** misc/SampleICC-1.3.2/IccProfLib/IccIO.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccIO.cpp	Fri Jan 25 14:23:09 2008
***************
*** 78,84 ****
  #include "IccIO.h"
  #include "IccUtil.h"
  #include <stdlib.h>
! #include <memory.h>
  #include <string.h>
  
  #ifndef __max
--- 78,84 ----
  #include "IccIO.h"
  #include "IccUtil.h"
  #include <stdlib.h>
! #include <memory>
  #include <string.h>
  
  #ifndef __max
*** misc/SampleICC-1.3.2/IccProfLib/IccIO.h	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccIO.h	Fri Jan 25 14:23:09 2008
***************
*** 79,84 ****
--- 79,85 ----
  #define _ICCIO_H
  
  #include "IccDefs.h"
+ #include "memory"
  #include "stdio.h"
  
  #ifdef USESAMPLEICCNAMESPACE
*** misc/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccMpeACS.cpp	Fri Jan 25 14:23:09 2008
***************
*** 136,152 ****
    icChar sigBuf[30];
  
    if (GetBAcsSig())
!     sDescription += "ELEM_bACS\r\n";
    else
!     sDescription += "ELEM_eACS\r\n";
  
    icGetSig(sigBuf, m_signature);
    sDescription += "  Signature = ";
    sDescription += sigBuf;
!   sDescription += "\r\n";
  
    if (m_pData) {
!     sDescription += "\r\nData Follows:\r\n";
  
      icMemDump(sDescription, m_pData, m_nDataSize);
    }
--- 136,152 ----
    icChar sigBuf[30];
  
    if (GetBAcsSig())
!     sDescription += "ELEM_bACS\n";
    else
!     sDescription += "ELEM_eACS\n";
  
    icGetSig(sigBuf, m_signature);
    sDescription += "  Signature = ";
    sDescription += sigBuf;
!   sDescription += "\n";
  
    if (m_pData) {
!     sDescription += "\nData Follows:\n";
  
      icMemDump(sDescription, m_pData, m_nDataSize);
    }
*** misc/SampleICC-1.3.2/IccProfLib/IccMpeBasic.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccMpeBasic.cpp	Fri Jan 25 14:23:09 2008
***************
*** 218,249 ****
    sprintf(buf, "%.8f", m_endPoint);
    sDescription += buf;
    }
!   sprintf(buf, "]\r\nFunctionType: %04Xh\r\n", m_nFunctionType);
    sDescription += buf;
  
    switch(m_nFunctionType) {
    case 0x0000:
      if (m_params[1]==0.0 && m_params[2]==0.0)
!       sprintf(buf, "Y = %.8f\r\n\r\n", m_params[3]);
      else if (m_params[0]==1.0 && m_params[1]==1.0 && m_params[2]==0.0 && m_params[3]==0.0)
!       sprintf(buf, "Y = X\r\n\r\n");
      else if (m_params[0]==1.0 && m_params[2]==0.0)
!       sprintf(buf, "Y = %.8f * X + %.8f\r\n\r\n", 
                m_params[1], m_params[3]);
      else
!       sprintf(buf, "Y = (%.8f * X + %.8f)^%.4f + %.8f\r\n\r\n", 
                m_params[1], m_params[2], m_params[0], m_params[3]);
      sDescription += buf;
      return;
  
    case 0x0001:
!     sprintf(buf, "Y = %.8f * log (%.8f * (X ^ %.8f)  + %.8f) + %.8f\r\n\r\n",
              m_params[1], m_params[2], m_params[0], m_params[3], m_params[4]);
      sDescription += buf;
      return;
  
    case 0x0002:
!     sprintf(buf, "Y = %.8f * (%.8f ^ (%.8f * X + %.8f)) + %.8f\r\n\r\n",
              m_params[0], m_params[1], m_params[2], m_params[3], m_params[4]);
      sDescription += buf;
      return;
--- 218,249 ----
    sprintf(buf, "%.8f", m_endPoint);
    sDescription += buf;
    }
!   sprintf(buf, "]\nFunctionType: %04Xh\n", m_nFunctionType);
    sDescription += buf;
  
    switch(m_nFunctionType) {
    case 0x0000:
      if (m_params[1]==0.0 && m_params[2]==0.0)
!       sprintf(buf, "Y = %.8f\n\n", m_params[3]);
      else if (m_params[0]==1.0 && m_params[1]==1.0 && m_params[2]==0.0 && m_params[3]==0.0)
!       sprintf(buf, "Y = X\n\n");
      else if (m_params[0]==1.0 && m_params[2]==0.0)
!       sprintf(buf, "Y = %.8f * X + %.8f\n\n", 
                m_params[1], m_params[3]);
      else
!       sprintf(buf, "Y = (%.8f * X + %.8f)^%.4f + %.8f\n\n", 
                m_params[1], m_params[2], m_params[0], m_params[3]);
      sDescription += buf;
      return;
  
    case 0x0001:
!     sprintf(buf, "Y = %.8f * log (%.8f * (X ^ %.8f)  + %.8f) + %.8f\n\n",
              m_params[1], m_params[2], m_params[0], m_params[3], m_params[4]);
      sDescription += buf;
      return;
  
    case 0x0002:
!     sprintf(buf, "Y = %.8f * (%.8f ^ (%.8f * X + %.8f)) + %.8f\n\n",
              m_params[0], m_params[1], m_params[2], m_params[3], m_params[4]);
      sDescription += buf;
      return;
***************
*** 250,260 ****
  
    default:
      int i;
!     sprintf(buf, "Unknown Function with %d parameters:\r\n\r\n", m_nParameters);
      sDescription += buf;
  
      for (i=0; i<m_nParameters; i++) {
!       sprintf(buf, "Param[%d] = %.8lf\r\n\r\n", i, m_params[i]);
        sDescription += buf;
      }
    }
--- 250,260 ----
  
    default:
      int i;
!     sprintf(buf, "Unknown Function with %d parameters:\n\n", m_nParameters);
      sDescription += buf;
  
      for (i=0; i<m_nParameters; i++) {
!       sprintf(buf, "Param[%d] = %.8lf\n\n", i, m_params[i]);
        sDescription += buf;
      }
    }
***************
*** 496,502 ****
    if (m_nReserved || m_nReserved2) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " formula curve has non zero reserved data.\r\n";
      rv = icValidateWarning;
    }
  
--- 496,502 ----
    if (m_nReserved || m_nReserved2) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " formula curve has non zero reserved data.\n";
      rv = icValidateWarning;
    }
  
***************
*** 505,517 ****
      if (!m_params || m_nParameters<4) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 4) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
        rv = icValidateWarning;
      }
      break;
--- 505,517 ----
      if (!m_params || m_nParameters<4) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 4) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
        rv = icValidateWarning;
      }
      break;
***************
*** 520,532 ****
      if (!m_params || m_nParameters<5) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 5) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
        rv = icValidateWarning;
      }
      break;
--- 520,532 ----
      if (!m_params || m_nParameters<5) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 5) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
        rv = icValidateWarning;
      }
      break;
***************
*** 535,547 ****
      if (!m_params || m_nParameters<5) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\r\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 5) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\r\n";
        rv = icValidateWarning;
      }
      break;
--- 535,547 ----
      if (!m_params || m_nParameters<5) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " formula curve has Invalid formulaCurveSegment parameters.\n";
        rv = icValidateCriticalError;
      }
      else if (m_nParameters > 5) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " formula curve has too many formulaCurveSegment parameters.\n";
        rv = icValidateWarning;
      }
      break;
***************
*** 551,557 ****
        icChar buf[128];
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sprintf(buf, " formula curve uses unknown formulaCurveSegment function type %d\r\n", m_nFunctionType);
        sReport += buf;
        rv = icValidateCriticalError;
      }
--- 551,557 ----
        icChar buf[128];
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sprintf(buf, " formula curve uses unknown formulaCurveSegment function type %d\n", m_nFunctionType);
        sReport += buf;
        rv = icValidateCriticalError;
      }
***************
*** 727,733 ****
      sDescription += buf;
      }
  
!     sprintf(buf, "]\r\n");
      sDescription += buf;
    }
    else {
--- 727,733 ----
      sDescription += buf;
      }
  
!     sprintf(buf, "]\n");
      sDescription += buf;
    }
    else {
***************
*** 744,752 ****
      sprintf(buf, "%.8f", m_endPoint);
      sDescription += buf;
      }
!     sprintf(buf, "]\r\n");
      sDescription += buf;
!     sDescription += "IN  OUT\r\n";
  
      icUInt32Number i;
  
--- 744,752 ----
      sprintf(buf, "%.8f", m_endPoint);
      sDescription += buf;
      }
!     sprintf(buf, "]\n");
      sDescription += buf;
!     sDescription += "IN  OUT\n";
  
      icUInt32Number i;
  
***************
*** 754,764 ****
      icFloatNumber last = (icFloatNumber)(m_nCount-1);
  
      for (i=0; i<m_nCount; i++) {
!       sprintf(buf, "%.8f %.8f\r\n", m_startPoint + (icFloatNumber)i*range/last, m_pSamples[i]);
        sDescription += buf;
      }
    }
!   sDescription += "\r\n";
  }
  
  /**
--- 754,764 ----
      icFloatNumber last = (icFloatNumber)(m_nCount-1);
  
      for (i=0; i<m_nCount; i++) {
!       sprintf(buf, "%.8f %.8f\n", m_startPoint + (icFloatNumber)i*range/last, m_pSamples[i]);
        sDescription += buf;
      }
    }
!   sDescription += "\n";
  }
  
  /**
***************
*** 910,916 ****
    if (m_nReserved) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " sampled curve has non zero reserved data.\r\n";
      rv = icValidateWarning;
    }
  
--- 910,916 ----
    if (m_nReserved) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " sampled curve has non zero reserved data.\n";
      rv = icValidateWarning;
    }
  
***************
*** 917,929 ****
    if (m_nCount<2) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " sampled curve has too few sample points.\r\n";
      rv = icValidateCriticalError;
    }
    else if (m_endPoint-m_startPoint == 0.0) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " sampled curve has a range of zero.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
--- 917,929 ----
    if (m_nCount<2) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " sampled curve has too few sample points.\n";
      rv = icValidateCriticalError;
    }
    else if (m_endPoint-m_startPoint == 0.0) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " sampled curve has a range of zero.\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
***************
*** 1054,1060 ****
  {
    CIccCurveSegmentList::iterator i;
  
!   sDescription += "BEGIN_CURVE\r\n";
    for (i=m_list->begin(); i!=m_list->end(); i++) {
      (*i)->Describe(sDescription);
    }
--- 1054,1060 ----
  {
    CIccCurveSegmentList::iterator i;
  
!   sDescription += "BEGIN_CURVE\n";
    for (i=m_list->begin(); i!=m_list->end(); i++) {
      (*i)->Describe(sDescription);
    }
***************
*** 1342,1348 ****
    if (m_nReserved1 || m_nReserved2) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " Segmented curve has non zero reserved data.\r\n";
      rv = icValidateWarning;
    }
  
--- 1342,1348 ----
    if (m_nReserved1 || m_nReserved2) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " Segmented curve has non zero reserved data.\n";
      rv = icValidateWarning;
    }
  
***************
*** 1349,1355 ****
    if (m_list->size()==0) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Has Empty CurveSegment!\r\n";
      return icValidateCriticalError;
    }
  
--- 1349,1355 ----
    if (m_list->size()==0) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Has Empty CurveSegment!\n";
      return icValidateCriticalError;
    }
  
***************
*** 1599,1609 ****
      icChar buf[81];
      int i;
  
!     sprintf(buf, "BEGIN_CURVE_SET %d\r\n", m_nInputChannels);
      sDescription += buf;
  
      for (i=0; i<m_nInputChannels; i++) {
!       sprintf(buf, "Curve %d of %d\r\n", i+1, m_nInputChannels);
        sDescription += buf;
        if (m_curve[i]) {
          m_curve[i]->Describe(sDescription);
--- 1599,1609 ----
      icChar buf[81];
      int i;
  
!     sprintf(buf, "BEGIN_CURVE_SET %d\n", m_nInputChannels);
      sDescription += buf;
  
      for (i=0; i<m_nInputChannels; i++) {
!       sprintf(buf, "Curve %d of %d\n", i+1, m_nInputChannels);
        sDescription += buf;
        if (m_curve[i]) {
          m_curve[i]->Describe(sDescription);
***************
*** 1877,1883 ****
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has Empty Curve Element(s)!\r\n";
      return icValidateCriticalError;
    }
  
--- 1877,1883 ----
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has Empty Curve Element(s)!\n";
      return icValidateCriticalError;
    }
  
***************
*** 2042,2048 ****
    int i, j;
    icFloatNumber *data = m_pMatrix;
  
!   sprintf(buf, "BEGIN_ELEM_MATRIX %d %d\r\n", m_nInputChannels, m_nOutputChannels);
    sDescription += buf;
  
    for (j=0; j<m_nOutputChannels; j++) {
--- 2042,2048 ----
    int i, j;
    icFloatNumber *data = m_pMatrix;
  
!   sprintf(buf, "BEGIN_ELEM_MATRIX %d %d\n", m_nInputChannels, m_nOutputChannels);
    sDescription += buf;
  
    for (j=0; j<m_nOutputChannels; j++) {
***************
*** 2052,2058 ****
        sprintf(buf, "%12.8lf", data[i]);
        sDescription += buf;
      }
!     sprintf(buf, "  +  %12.8lf\r\n", m_pConstants[j]);
      sDescription += buf;
      data += i;
    }
--- 2052,2058 ----
        sprintf(buf, "%12.8lf", data[i]);
        sDescription += buf;
      }
!     sprintf(buf, "  +  %12.8lf\n", m_pConstants[j]);
      sDescription += buf;
      data += i;
    }
***************
*** 2273,2279 ****
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has Empty Matrix data!\r\n";
      return icValidateCriticalError;
    }
  
--- 2273,2279 ----
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has Empty Matrix data!\n";
      return icValidateCriticalError;
    }
  
***************
*** 2620,2626 ****
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has No CLUT!\r\n";
      return icValidateCriticalError;
    }
  
--- 2620,2626 ----
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " Has No CLUT!\n";
      return icValidateCriticalError;
    }
  
*** misc/SampleICC-1.3.2/IccProfLib/IccProfLibConf.h	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccProfLibConf.h	Fri Jan 25 14:23:09 2008
***************
*** 87,93 ****
  #endif
  
  //PC, visual C++
! #if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86)
  
    //Define how 64 bit integers are represented
    #define ICCUINT64 unsigned __int64
--- 87,93 ----
  #endif
  
  //PC, visual C++
! #if defined(_MSC_VER) && !defined(__MWERKS__)
  
    //Define how 64 bit integers are represented
    #define ICCUINT64 unsigned __int64
***************
*** 107,126 ****
  
  #else // non-PC, perhaps Mac or Linux
  
!   #define ICCUINT64 unsigned long long
!   #define ICCINT64  long long
!   #define ICUINT64TYPE unsigned long long
!   #define ICINT64TYPE long long
! 
!   #if defined(__APPLE__)
!     #if  defined(__LITTLE_ENDIAN__)
!       #define ICC_BYTE_ORDER_LITTLE_ENDIAN
!     #else
!       #define ICC_BYTE_ORDER_BIG_ENDIAN
!     #endif
!   #else
!     #define ICC_BYTE_ORDER_LITTLE_ENDIAN
!   #endif
  
    #define ICCPROFLIB_API
    #define ICCPROFLIB_EXTERN
--- 107,129 ----
  
  #else // non-PC, perhaps Mac or Linux
  
! #include <sal/types.h>
! #include <osl/endian.h>
! 
!   #define ICCUINT64 sal_uInt64
!   #define ICCINT64 sal_Int64
!   #define ICUINT64TYPE sal_uInt64
!   #define ICINT64TYPE sal_Int64
!   #define ICINT32TYPE sal_Int32
!   #define ICUINT32TYPE sal_uInt32
! 
! #if defined(_LITTLE_ENDIAN)
! #    define ICC_BYTE_ORDER_LITTLE_ENDIAN
! #elif defined(_BIG_ENDIAN)
! #    define ICC_BYTE_ORDER_BIG_ENDIAN
! #else
! #    error "ENDIAN unknown"
! #endif
  
    #define ICCPROFLIB_API
    #define ICCPROFLIB_EXTERN
*** misc/SampleICC-1.3.2/IccProfLib/IccProfile.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccProfile.cpp	Fri Jan 25 14:23:09 2008
***************
*** 567,573 ****
  
    if (!ReadBasic(pIO)) {
      sReport += icValidateCriticalErrorMsg;
!     sReport += " - Unable to read profile!**\r\n\tProfile has invalid structure!\r\n";
      Cleanup();
  
      return icValidateCriticalError;
--- 567,573 ----
  
    if (!ReadBasic(pIO)) {
      sReport += icValidateCriticalErrorMsg;
!     sReport += " - Unable to read profile!**\n\tProfile has invalid structure!\n";
      Cleanup();
  
      return icValidateCriticalError;
***************
*** 576,582 ****
    // Check profile header
    if (!CheckFileSize(pIO)) {
      sReport += icValidateNonCompliantMsg;
!     sReport += "Bad Header File Size\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 576,582 ----
    // Check profile header
    if (!CheckFileSize(pIO)) {
      sReport += icValidateNonCompliantMsg;
!     sReport += "Bad Header File Size\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 588,594 ****
      CalcProfileID(pIO, &profileID);
      if (strncmp((char*)profileID.ID8, (char*)m_Header.profileID.ID8, 16) != 0) {
        sReport += icValidateNonCompliantMsg;
!       sReport += "Bad Profile ID\r\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
--- 588,594 ----
      CalcProfileID(pIO, &profileID);
      if (strncmp((char*)profileID.ID8, (char*)m_Header.profileID.ID8, 16) != 0) {
        sReport += icValidateNonCompliantMsg;
!       sReport += "Bad Profile ID\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
***************
*** 601,607 ****
        sReport += icValidateCriticalErrorMsg;
        sReport += " - ";
        sReport += Info.GetTagSigName(i->TagInfo.sig);
!       sReport += " - Tag has invalid structure!\r\n";
  
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
--- 601,607 ----
        sReport += icValidateCriticalErrorMsg;
        sReport += " - ";
        sReport += Info.GetTagSigName(i->TagInfo.sig);
!       sReport += " - Tag has invalid structure!\n";
  
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
***************
*** 1026,1032 ****
  
    default:
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown profile class!\r\n", Info.GetProfileClassSigName(m_Header.deviceClass));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
--- 1026,1032 ----
  
    default:
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown profile class!\n", Info.GetProfileClassSigName(m_Header.deviceClass));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
***************
*** 1033,1039 ****
  
    if (!Info.IsValidSpace(m_Header.colorSpace)) {
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown color space!\r\n", Info.GetColorSpaceSigName(m_Header.colorSpace));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
--- 1033,1039 ----
  
    if (!Info.IsValidSpace(m_Header.colorSpace)) {
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown color space!\n", Info.GetColorSpaceSigName(m_Header.colorSpace));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
***************
*** 1041,1047 ****
    if (m_Header.deviceClass==icSigLinkClass) {
      if (!Info.IsValidSpace(m_Header.pcs)) {
        sReport += icValidateCriticalErrorMsg;
!       sprintf(buf, " - %s: Unknown pcs color space!\r\n", Info.GetColorSpaceSigName(m_Header.pcs));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
--- 1041,1047 ----
    if (m_Header.deviceClass==icSigLinkClass) {
      if (!Info.IsValidSpace(m_Header.pcs)) {
        sReport += icValidateCriticalErrorMsg;
!       sprintf(buf, " - %s: Unknown pcs color space!\n", Info.GetColorSpaceSigName(m_Header.pcs));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
***************
*** 1049,1055 ****
    else {
      if (m_Header.pcs!=icSigXYZData && m_Header.pcs!=icSigLabData) {
        sReport += icValidateCriticalErrorMsg;
!       sprintf(buf, " - %s: Invalid pcs color space!\r\n", Info.GetColorSpaceSigName(m_Header.pcs));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
--- 1049,1055 ----
    else {
      if (m_Header.pcs!=icSigXYZData && m_Header.pcs!=icSigLabData) {
        sReport += icValidateCriticalErrorMsg;
!       sprintf(buf, " - %s: Invalid pcs color space!\n", Info.GetColorSpaceSigName(m_Header.pcs));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
***************
*** 1068,1074 ****
    
    default:
      sReport += icValidateWarningMsg;
!     sprintf(buf, " - %s: Unknown platform signature.\r\n", Info.GetPlatformSigName(m_Header.platform));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1068,1074 ----
    
    default:
      sReport += icValidateWarningMsg;
!     sprintf(buf, " - %s: Unknown platform signature.\n", Info.GetPlatformSigName(m_Header.platform));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1095,1101 ****
  
    default:
      sReport += icValidateWarningMsg;
!     sprintf(buf, " - %s: Unregisterd CMM signature.\r\n", Info.GetCmmSigName((icCmmSignature)m_Header.cmmId));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1095,1101 ----
  
    default:
      sReport += icValidateWarningMsg;
!     sprintf(buf, " - %s: Unregistered CMM signature.\n", Info.GetCmmSigName((icCmmSignature)m_Header.cmmId));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1109,1115 ****
  
    default:
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown rendering intent!\r\n", Info.GetRenderingIntentName((icRenderingIntent)m_Header.renderingIntent));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
--- 1109,1115 ----
  
    default:
      sReport += icValidateCriticalErrorMsg;
!     sprintf(buf, " - %s: Unknown rendering intent!\n", Info.GetRenderingIntentName((icRenderingIntent)m_Header.renderingIntent));
      sReport += buf;
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
***************
*** 1120,1126 ****
    icFloatNumber Z = icFtoD(m_Header.illuminant.Z);
    if (X<0.9640 || X>0.9644 || Y!=1.0 || Z<0.8247 || Z>0.8251) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - Non D50 Illuminant XYZ values.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 1120,1126 ----
    icFloatNumber Z = icFtoD(m_Header.illuminant.Z);
    if (X<0.9640 || X>0.9644 || Y!=1.0 || Z<0.8247 || Z>0.8251) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - Non D50 Illuminant XYZ values.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 1130,1136 ****
    }
    if (sum) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - Reserved value must be zero.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 1130,1136 ----
    }
    if (sum) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - Reserved value must be zero.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 1163,1169 ****
      {
        sReport += icValidateWarningMsg;
        sReport += buf;
!       sReport += " - Tag exclusion test failed.\r\n";
        rv = false;
      }
    }
--- 1163,1169 ----
      {
        sReport += icValidateWarningMsg;
        sReport += buf;
!       sReport += " - Tag exclusion test failed.\n";
        rv = false;
      }
    }
***************
*** 1177,1183 ****
        {
          sReport += icValidateWarningMsg;
          sReport += buf;
!         sReport += " - Tag exclusion test failed.\r\n";
          rv = false;
        }
        break;
--- 1177,1183 ----
        {
          sReport += icValidateWarningMsg;
          sReport += buf;
!         sReport += " - Tag exclusion test failed.\n";
          rv = false;
        }
        break;
***************
*** 1192,1198 ****
        {
          sReport += icValidateWarningMsg;
          sReport += buf;
!         sReport += " - Tag exclusion test failed.\r\n";
          rv = false;
        }
        break;
--- 1192,1198 ----
        {
          sReport += icValidateWarningMsg;
          sReport += buf;
!         sReport += " - Tag exclusion test failed.\n";
          rv = false;
        }
        break;
***************
*** 1234,1240 ****
      if (!IsTypeValid(tagsig, typesig)) {
        sReport += icValidateNonCompliantMsg;
        sReport += buf;
!       sprintf(buf," - %s: Invalid tag type (Might be critical!).\r\n", Info.GetTagTypeSigName(typesig));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
--- 1234,1240 ----
      if (!IsTypeValid(tagsig, typesig)) {
        sReport += icValidateNonCompliantMsg;
        sReport += buf;
!       sprintf(buf," - %s: Invalid tag type (Might be critical!).\n", Info.GetTagTypeSigName(typesig));
        sReport += buf;
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
***************
*** 1477,1483 ****
  {
    if (m_Tags->size() <= 0) {
      sReport += icValidateCriticalErrorMsg;
!     sReport += "No tags present.\r\n";
      return icValidateCriticalError;
    }
  
--- 1477,1483 ----
  {
    if (m_Tags->size() <= 0) {
      sReport += icValidateCriticalErrorMsg;
!     sReport += "No tags present.\n";
      return icValidateCriticalError;
    }
  
***************
*** 1486,1492 ****
    if (!GetTag(icSigProfileDescriptionTag) ||
       !GetTag(icSigCopyrightTag)) {
         sReport += icValidateNonCompliantMsg;
!        sReport += "Required tags missing.\r\n";
         rv = icMaxStatus(rv, icValidateNonCompliant);
    }
    
--- 1486,1492 ----
    if (!GetTag(icSigProfileDescriptionTag) ||
       !GetTag(icSigCopyrightTag)) {
         sReport += icValidateNonCompliantMsg;
!        sReport += "Required tags missing.\n";
         rv = icMaxStatus(rv, icValidateNonCompliant);
    }
    
***************
*** 1495,1501 ****
    if (sig != icSigLinkClass) {
      if (!GetTag(icSigMediaWhitePointTag)) {
        sReport += icValidateCriticalErrorMsg;
!       sReport += "Media white point tag missing.\r\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
    }
--- 1495,1501 ----
    if (sig != icSigLinkClass) {
      if (!GetTag(icSigMediaWhitePointTag)) {
        sReport += icValidateCriticalErrorMsg;
!       sReport += "Media white point tag missing.\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
    }
***************
*** 1505,1511 ****
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\r\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
--- 1505,1511 ----
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
***************
*** 1515,1521 ****
               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
                 sReport += icValidateCriticalErrorMsg;
!                sReport += "Critical tag(s) missing.\r\n";
                 rv = icMaxStatus(rv, icValidateCriticalError);
               }
          }
--- 1515,1521 ----
               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
                 sReport += icValidateCriticalErrorMsg;
!                sReport += "Critical tag(s) missing.\n";
                 rv = icMaxStatus(rv, icValidateCriticalError);
               }
          }
***************
*** 1526,1532 ****
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\r\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
--- 1526,1532 ----
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
***************
*** 1536,1542 ****
               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
                 sReport += icValidateCriticalErrorMsg;
!                sReport += "Critical tag(s) missing.\r\n";
                 rv = icMaxStatus(rv, icValidateCriticalError);
               }
          }
--- 1536,1542 ----
               !GetTag(icSigBlueMatrixColumnTag) || !GetTag(icSigRedTRCTag) ||
               !GetTag(icSigGreenTRCTag) || !GetTag(icSigBlueTRCTag)) {
                 sReport += icValidateCriticalErrorMsg;
!                sReport += "Critical tag(s) missing.\n";
                 rv = icMaxStatus(rv, icValidateCriticalError);
               }
          }
***************
*** 1547,1553 ****
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\r\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
--- 1547,1553 ----
        if (m_Header.colorSpace == icSigGrayData) {
          if (!GetTag(icSigGrayTRCTag)) {
            sReport += icValidateCriticalErrorMsg;
!           sReport += "Gray TRC tag missing.\n";
            rv = icMaxStatus(rv, icValidateCriticalError);
          }
        }
***************
*** 1556,1568 ****
             !GetTag(icSigAToB1Tag) || !GetTag(icSigBToA1Tag) ||
             !GetTag(icSigAToB2Tag) || !GetTag(icSigBToA2Tag)) {
               sReport += icValidateCriticalErrorMsg;
!              sReport += "Critical tag(s) missing.\r\n";
               rv = icMaxStatus(rv, icValidateCriticalError);
             }
  
          if (!GetTag(icSigGamutTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Gamut tag missing.\r\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
  
--- 1556,1568 ----
             !GetTag(icSigAToB1Tag) || !GetTag(icSigBToA1Tag) ||
             !GetTag(icSigAToB2Tag) || !GetTag(icSigBToA2Tag)) {
               sReport += icValidateCriticalErrorMsg;
!              sReport += "Critical tag(s) missing.\n";
               rv = icMaxStatus(rv, icValidateCriticalError);
             }
  
          if (!GetTag(icSigGamutTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Gamut tag missing.\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
  
***************
*** 1585,1591 ****
              case icSig16colorData:
                if (!GetTag(icSigColorantTableTag)) {
                  sReport += icValidateNonCompliantMsg;
!                 sReport += "xCLR output profile is missing colorantTableTag\r\n";
                  rv = icMaxStatus(rv, icValidateNonCompliant);
                }
  
--- 1585,1591 ----
              case icSig16colorData:
                if (!GetTag(icSigColorantTableTag)) {
                  sReport += icValidateNonCompliantMsg;
!                 sReport += "xCLR output profile is missing colorantTableTag\n";
                  rv = icMaxStatus(rv, icValidateNonCompliant);
                }
  
***************
*** 1599,1605 ****
      case icSigLinkClass:
        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigProfileSequenceDescTag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 1599,1605 ----
      case icSigLinkClass:
        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigProfileSequenceDescTag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 1606,1612 ****
        if (icIsSpaceCLR(m_Header.colorSpace)) {
          if (!GetTag(icSigColorantTableTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Required tag(s) missing.\r\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
        }
--- 1606,1612 ----
        if (icIsSpaceCLR(m_Header.colorSpace)) {
          if (!GetTag(icSigColorantTableTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Required tag(s) missing.\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
        }
***************
*** 1614,1620 ****
        if (icIsSpaceCLR(m_Header.pcs)) {
          if (!GetTag(icSigColorantTableOutTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Required tag(s) missing.\r\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
        }
--- 1614,1620 ----
        if (icIsSpaceCLR(m_Header.pcs)) {
          if (!GetTag(icSigColorantTableOutTag)) {
            sReport += icValidateNonCompliantMsg;
!           sReport += "Required tag(s) missing.\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
        }
***************
*** 1623,1629 ****
      case icSigColorSpaceClass:
        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigBToA0Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
        break;
--- 1623,1629 ----
      case icSigColorSpaceClass:
        if (!GetTag(icSigAToB0Tag) || !GetTag(icSigBToA0Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
        break;
***************
*** 1631,1637 ****
      case icSigAbstractClass:
        if (!GetTag(icSigAToB0Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
        break;
--- 1631,1637 ----
      case icSigAbstractClass:
        if (!GetTag(icSigAToB0Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
        break;
***************
*** 1639,1645 ****
      case icSigNamedColorClass:
        if (!GetTag(icSigNamedColor2Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 1639,1645 ----
      case icSigNamedColorClass:
        if (!GetTag(icSigNamedColor2Tag)) {
          sReport += icValidateCriticalErrorMsg;
!         sReport += "Critical tag(s) missing.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 1647,1653 ****
  
      default:
        sReport += icValidateCriticalErrorMsg;
!       sReport += "Unknown Profile Class.\r\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
        break;
    }
--- 1647,1653 ----
  
      default:
        sReport += icValidateCriticalErrorMsg;
!       sReport += "Unknown Profile Class.\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
        break;
    }
***************
*** 1724,1730 ****
    // Check for duplicate tags
    if (!AreTagsUnique()) {
      sReport += icValidateWarning;
!     sReport += " - There are duplicate tags.\r\n";
      rv =icMaxStatus(rv, icValidateWarning);
    }
  
--- 1724,1730 ----
    // Check for duplicate tags
    if (!AreTagsUnique()) {
      sReport += icValidateWarning;
!     sReport += " - There are duplicate tags.\n";
      rv =icMaxStatus(rv, icValidateWarning);
    }
  
***************
*** 1979,1985 ****
      sReport = icValidateCriticalErrorMsg;
      sReport += " - ";
      sReport += szFilename;
!     sReport += "- Invalid Filename\r\n";
      delete pFileIO;
      return NULL;
    }
--- 1979,1985 ----
      sReport = icValidateCriticalErrorMsg;
      sReport += " - ";
      sReport += szFilename;
!     sReport += "- Invalid Filename\n";
      delete pFileIO;
      return NULL;
    }
*** misc/SampleICC-1.3.2/IccProfLib/IccTagBasic.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagBasic.cpp	Fri Jan 25 14:23:09 2008
***************
*** 166,172 ****
      CIccInfo Info;
      sReport += icValidateNonCompliantMsg;
      sReport += Info.GetSigName(sig);
!     sReport += " - Reserved Value must be zero.\r\n";
  
      rv = icValidateNonCompliant;
    }
--- 166,172 ----
      CIccInfo Info;
      sReport += icValidateNonCompliantMsg;
      sReport += Info.GetSigName(sig);
!     sReport += " - Reserved Value must be zero.\n";
  
      rv = icValidateNonCompliant;
    }
***************
*** 340,346 ****
    sprintf(buf, "%u Bytes.", m_nSize-4);
    sDescription += buf;
  
!   sDescription += "\r\n\r\nData Follows:\r\n";
  
    icMemDump(sDescription, m_pData+4, m_nSize-4);
  }
--- 340,346 ----
    sprintf(buf, "%u Bytes.", m_nSize-4);
    sDescription += buf;
  
!   sDescription += "\n\nData Follows:\n";
  
    icMemDump(sDescription, m_pData+4, m_nSize-4);
  }
***************
*** 511,517 ****
    if (m_szText && *m_szText)
      sDescription += m_szText;
  
!   sDescription += "\"\r\n";
  }
  
  
--- 511,517 ----
    if (m_szText && *m_szText)
      sDescription += m_szText;
  
!   sDescription += "\"\n";
  }
  
  
***************
*** 629,635 ****
        if (m_nBufSize<7) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Tag must have at least seven text characters.\r\n";
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
        break;
--- 629,635 ----
        if (m_nBufSize<7) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Tag must have at least seven text characters.\n";
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
        break;
***************
*** 636,642 ****
      default:
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Unknown Tag.\r\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
      int i;
--- 636,642 ----
      default:
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Unknown Tag.\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
      int i;
***************
*** 644,650 ****
        if (m_szText[i]&0x80) {
          sReport += icValidateWarning;
          sReport += sSigName;
!         sReport += " - Text do not contain 7bit data.\r\n";
        }
      }
    }
--- 644,650 ----
        if (m_szText[i]&0x80) {
          sReport += icValidateWarning;
          sReport += sSigName;
!         sReport += " - Text do not contain 7bit data.\n";
        }
      }
    }
***************
*** 651,657 ****
    else {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty Tag.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
--- 651,657 ----
    else {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty Tag.\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
***************
*** 941,947 ****
    if (m_szText && *m_szText)
      sDescription += m_szText;
  
!   sDescription += "\"\r\n";
  }
  
  
--- 941,947 ----
    if (m_szText && *m_szText)
      sDescription += m_szText;
  
!   sDescription += "\"\n";
  }
  
  
***************
*** 1101,1107 ****
    if (m_nScriptSize>67) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - ScriptCode count must not be greater than 67.\r\n";
  
      rv =icMaxStatus(rv, icValidateNonCompliant);
    }
--- 1101,1107 ----
    if (m_nScriptSize>67) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - ScriptCode count must not be greater than 67.\n";
  
      rv =icMaxStatus(rv, icValidateNonCompliant);
    }
***************
*** 1260,1266 ****
    CIccInfo Fmt;
  
    sDescription += Fmt.GetSigName(m_nSig);
!   sDescription += "\r\n";
  }
  
  
--- 1260,1266 ----
    CIccInfo Fmt;
  
    sDescription += Fmt.GetSigName(m_nSig);
!   sDescription += "\n";
  }
  
  
***************
*** 1320,1326 ****
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Technology.\r\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
--- 1320,1326 ----
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
***************
*** 1336,1342 ****
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Reference Medium Gamut.\r\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
--- 1336,1342 ----
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Reference Medium Gamut.\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
***************
*** 1355,1361 ****
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Colorimetric Intent Image State.\r\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
--- 1355,1361 ----
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Colorimetric Intent Image State.\n", Info.GetSigName(m_nSig));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
***************
*** 1686,1692 ****
  
    sDescription.reserve(sDescription.size() + m_nSize*79);
  
!   sprintf(buf, "BEGIN_NAMED_COLORS flags=%08x %u %u\r\n", m_nVendorFlags, m_nSize, m_nDeviceCoords);
    sDescription += buf;
  
    for (i=0; i<m_nSize; i++) {
--- 1686,1692 ----
  
    sDescription.reserve(sDescription.size() + m_nSize*79);
  
!   sprintf(buf, "BEGIN_NAMED_COLORS flags=%08x %u %u\n", m_nVendorFlags, m_nSize, m_nDeviceCoords);
    sDescription += buf;
  
    for (i=0; i<m_nSize; i++) {
***************
*** 1717,1723 ****
          sDescription += buf;
        }
      }
!     sDescription += "\r\n";
  
      pNamedColor = (SIccNamedColorEntry*)((icChar*)pNamedColor + m_nColorEntrySize);
    }
--- 1717,1723 ----
          sDescription += buf;
        }
      }
!     sDescription += "\n";
  
      pNamedColor = (SIccNamedColorEntry*)((icChar*)pNamedColor + m_nColorEntrySize);
    }
***************
*** 2082,2088 ****
    if (!m_nSize) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag!\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
--- 2082,2088 ----
    if (!m_nSize) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag!\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
***************
*** 2092,2098 ****
        if (m_nDeviceCoords != nCoords) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of device co-ordinates.\r\n";
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
      }
--- 2092,2098 ----
        if (m_nDeviceCoords != nCoords) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of device co-ordinates.\n";
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
      }
***************
*** 2099,2105 ****
      else {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
    }
--- 2099,2105 ----
      else {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
    }
***************
*** 2285,2291 ****
    icChar buf[128];
  
    if (m_nSize == 1 ) {
!     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));
      sDescription += buf;
    }
    else {
--- 2285,2291 ----
    icChar buf[128];
  
    if (m_nSize == 1 ) {
!     sprintf(buf, "X=%.4lf, Y=%.4lf, Z=%.4lf\n", icFtoD(m_XYZ[0].X), icFtoD(m_XYZ[0].Y), icFtoD(m_XYZ[0].Z));
      sDescription += buf;
    }
    else {
***************
*** 2293,2299 ****
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
!       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));
        sDescription += buf;
      }
    }
--- 2293,2299 ----
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
!       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));
        sDescription += buf;
      }
    }
***************
*** 2347,2353 ****
    if (!m_nSize) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag.\r\n";
  
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
--- 2347,2353 ----
    if (!m_nSize) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag.\n";
  
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
***************
*** 2553,2566 ****
  
    icUInt32Number i;
    //sDescription.reserve(sDescription.size() + m_nChannels*79);
!   sprintf(buf, "Number of Channels : %u\r\n", m_nChannels);
    sDescription += buf;
  
!   sprintf(buf, "Colorant Encoding : %s\r\n", Fmt.GetColorantEncoding((icColorantEncoding)m_nColorantType));
    sDescription += buf;
  
    for (i=0; i<m_nChannels; i++) {
!     sprintf(buf, "value[%u]: x=%.3lf, y=%.3lf\r\n", i, icUFtoD(m_xy[i].x), icUFtoD(m_xy[i].y));
      sDescription += buf;
    }
  
--- 2553,2566 ----
  
    icUInt32Number i;
    //sDescription.reserve(sDescription.size() + m_nChannels*79);
!   sprintf(buf, "Number of Channels : %u\n", m_nChannels);
    sDescription += buf;
  
!   sprintf(buf, "Colorant Encoding : %s\n", Fmt.GetColorantEncoding((icColorantEncoding)m_nColorantType));
    sDescription += buf;
  
    for (i=0; i<m_nChannels; i++) {
!     sprintf(buf, "value[%u]: x=%.3lf, y=%.3lf\n", i, icUFtoD(m_xy[i].x), icUFtoD(m_xy[i].y));
      sDescription += buf;
    }
  
***************
*** 2617,2623 ****
      if (m_nChannels!=3) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " - Number of device channels must be three.\r\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
  
--- 2617,2623 ----
      if (m_nChannels!=3) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " - Number of device channels must be three.\n";
        rv = icMaxStatus(rv, icValidateCriticalError);
      }
  
***************
*** 2629,2635 ****
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.150)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.060)) ) {
                  sReport += icValidateNonCompliantMsg;
                  sReport += sSigName;
!                 sReport += " - Chromaticity data does not match specification.\r\n";
                  rv = icMaxStatus(rv, icValidateNonCompliant);
                }
            break;
--- 2629,2635 ----
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.150)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.060)) ) {
                  sReport += icValidateNonCompliantMsg;
                  sReport += sSigName;
!                 sReport += " - Chromaticity data does not match specification.\n";
                  rv = icMaxStatus(rv, icValidateNonCompliant);
                }
            break;
***************
*** 2642,2648 ****
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\r\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
--- 2642,2648 ----
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
***************
*** 2655,2661 ****
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.15)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.06)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\r\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
--- 2655,2661 ----
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.15)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.06)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
***************
*** 2668,2674 ****
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\r\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
--- 2668,2674 ----
                 (m_xy[2].x != icDtoUF((icFloatNumber)0.155)) || (m_xy[2].y != icDtoUF((icFloatNumber)0.070)) ) {
                sReport += icValidateNonCompliantMsg;
                sReport += sSigName;
!               sReport += " - Chromaticity data does not match specification.\n";
                rv = icMaxStatus(rv, icValidateNonCompliant);
              }
              break;
***************
*** 2678,2684 ****
          {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - Invalid colorant type encoding.\r\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
      }
--- 2678,2684 ----
          {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - Invalid colorant type encoding.\n";
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
      }
***************
*** 2884,2892 ****
  
    if (m_nSize == 1 ) {
      if (Tsig==icSigS15Fixed16ArrayType) 
!       sprintf(buf, "Value = %.4lf\r\n", icFtoD(m_Num[0]));
      else
!       sprintf(buf, "Value = %.4lf\r\n", icUFtoD(m_Num[0]));
      sDescription += buf;
    }
    else {
--- 2884,2892 ----
  
    if (m_nSize == 1 ) {
      if (Tsig==icSigS15Fixed16ArrayType) 
!       sprintf(buf, "Value = %.4lf\n", icFtoD(m_Num[0]));
      else
!       sprintf(buf, "Value = %.4lf\n", icUFtoD(m_Num[0]));
      sDescription += buf;
    }
    else {
***************
*** 2893,2910 ****
      icUInt32Number i;
  
      if (Tsig==icSigS15Fixed16ArrayType && m_nSize==9) {
!       sDescription += "Matrix Form:\r\n";
        icMatrixDump(sDescription, (icS15Fixed16Number*)m_Num);
  
!       sDescription += "\r\nArrayForm:\r\n";
      }
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
        if (Tsig==icSigS15Fixed16ArrayType) 
!         sprintf(buf, "Value[%u] = %.4lf\r\n", i, icFtoD(m_Num[i]));
        else
!         sprintf(buf, "Value[%u] = %.4lf\r\n", i, icUFtoD(m_Num[i]));
        sDescription += buf;
      }
    }
--- 2893,2910 ----
      icUInt32Number i;
  
      if (Tsig==icSigS15Fixed16ArrayType && m_nSize==9) {
!       sDescription += "Matrix Form:\n";
        icMatrixDump(sDescription, (icS15Fixed16Number*)m_Num);
  
!       sDescription += "\nArrayForm:\n";
      }
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
        if (Tsig==icSigS15Fixed16ArrayType) 
!         sprintf(buf, "Value[%u] = %.4lf\n", i, icFtoD(m_Num[i]));
        else
!         sprintf(buf, "Value[%u] = %.4lf\n", i, icUFtoD(m_Num[i]));
        sDescription += buf;
      }
    }
***************
*** 3172,3178 ****
    icChar buf[128];
  
    if (m_nSize == 1 ) {
!     sprintf(buf, "Value = %u (0x%x)\r\n", m_Num[0], m_Num[0]);
      sDescription += buf;
    }
    else {
--- 3172,3178 ----
    icChar buf[128];
  
    if (m_nSize == 1 ) {
!     sprintf(buf, "Value = %u (0x%x)\n", m_Num[0], m_Num[0]);
      sDescription += buf;
    }
    else {
***************
*** 3180,3186 ****
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
!       sprintf(buf, "Value[%u] = %u (0x%x)\r\n", i, m_Num[i], m_Num[i]);
        sDescription += buf;
      }
    }
--- 3180,3186 ----
      sDescription.reserve(sDescription.size() + m_nSize*79);
  
      for (i=0; i<m_nSize; i++) {
!       sprintf(buf, "Value[%u] = %u (0x%x)\n", i, m_Num[i], m_Num[i]);
        sDescription += buf;
      }
    }
***************
*** 3374,3388 ****
    CIccInfo Fmt;
    icChar buf[128];
  
!    sDescription += Fmt.GetStandardObserverName(m_Data.stdObserver); sDescription += "\r\n";
!    sprintf(buf, "Backing measurement: X=%.4lf, Y=%.4lf, Z=%.4lf\r\n",
             icFtoD(m_Data.backing.X),
             icFtoD(m_Data.backing.Y),
             icFtoD(m_Data.backing.Z)); 
     sDescription += buf;
!    sDescription += Fmt.GetMeasurementGeometryName(m_Data.geometry); sDescription += "\r\n";
!    sDescription += Fmt.GetMeasurementFlareName(m_Data.flare); sDescription += "\r\n";
!    sDescription += Fmt.GetIlluminantName(m_Data.illuminant); sDescription += "\r\n";
  }
  
  
--- 3374,3388 ----
    CIccInfo Fmt;
    icChar buf[128];
  
!    sDescription += Fmt.GetStandardObserverName(m_Data.stdObserver); sDescription += "\n";
!    sprintf(buf, "Backing measurement: X=%.4lf, Y=%.4lf, Z=%.4lf\n",
             icFtoD(m_Data.backing.X),
             icFtoD(m_Data.backing.Y),
             icFtoD(m_Data.backing.Z)); 
     sDescription += buf;
!    sDescription += Fmt.GetMeasurementGeometryName(m_Data.geometry); sDescription += "\n";
!    sDescription += Fmt.GetMeasurementFlareName(m_Data.flare); sDescription += "\n";
!    sDescription += Fmt.GetIlluminantName(m_Data.illuminant); sDescription += "\n";
  }
  
  
***************
*** 3416,3422 ****
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid standard observer encoding.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 3416,3422 ----
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid standard observer encoding.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 3429,3435 ****
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid measurement geometry encoding.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 3429,3435 ----
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid measurement geometry encoding.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 3448,3454 ****
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid standard illuminant encoding.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 3448,3454 ----
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid standard illuminant encoding.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 3902,3910 ****
  
    for (i=m_Strings->begin(); i!=m_Strings->end(); i++) {
      if (i!=m_Strings->begin())
!       sDescription += "\r\n";
  
!     sprintf(szBuf, "Language = '%c%c', Region = '%c%c'\r\n",
        i->m_nLanguageCode>>8, i->m_nLanguageCode,
        i->m_nCountryCode>>8, i->m_nCountryCode);
      
--- 3902,3910 ----
  
    for (i=m_Strings->begin(); i!=m_Strings->end(); i++) {
      if (i!=m_Strings->begin())
!       sDescription += "\n";
  
!     sprintf(szBuf, "Language = '%c%c', Region = '%c%c'\n",
        i->m_nLanguageCode>>8, i->m_nLanguageCode,
        i->m_nCountryCode>>8, i->m_nCountryCode);
      
***************
*** 3919,3925 ****
      i->GetAnsi(szBuf, nSize);
      sDescription += "\"";
      sDescription += szBuf;
!     sDescription += "\"\r\n";
    }
  }
  
--- 3919,3925 ----
      i->GetAnsi(szBuf, nSize);
      sDescription += "\"";
      sDescription += szBuf;
!     sDescription += "\"\n";
    }
  }
  
***************
*** 3948,3954 ****
    if (!m_Strings->size()) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag!\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
--- 3948,3954 ----
    if (!m_Strings->size()) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty tag!\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
  
***************
*** 4246,4260 ****
  {
    icChar buf[128];
  
!   sDescription = "\r\nData:\r\n";
  
    if (IsTypeAscii()) {
!       sprintf(buf, "%s\r\n", (icChar*)m_pData);
        sDescription += buf;
    }
    else
      for (int i = 0; i<(int)m_nSize; i++) {
!       sprintf(buf, "%d\r\n", m_pData[i]);
        sDescription += buf;
      }
  
--- 4246,4260 ----
  {
    icChar buf[128];
  
!   sDescription = "\nData:\n";
  
    if (IsTypeAscii()) {
!       sprintf(buf, "%s\n", (icChar*)m_pData);
        sDescription += buf;
    }
    else
      for (int i = 0; i<(int)m_nSize; i++) {
!       sprintf(buf, "%d\n", m_pData[i]);
        sDescription += buf;
      }
  
***************
*** 4312,4318 ****
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid data flag encoding.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 4312,4318 ----
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Invalid data flag encoding.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 4477,4487 ****
    icChar buf[128];
  
    sDescription = "Date = ";
!   sprintf(buf, "%u-%u-%u\r\n", m_DateTime.month, m_DateTime.day, m_DateTime.year);
    sDescription += buf;
    
    sDescription += "Time = ";
!   sprintf(buf, "%u:%u:%u\r\n", m_DateTime.hours, m_DateTime.minutes, m_DateTime.seconds);
    sDescription += buf;
  }
  
--- 4477,4487 ----
    icChar buf[128];
  
    sDescription = "Date = ";
!   sprintf(buf, "%u-%u-%u\n", m_DateTime.month, m_DateTime.day, m_DateTime.year);
    sDescription += buf;
    
    sDescription += "Time = ";
!   sprintf(buf, "%u:%u:%u\n", m_DateTime.hours, m_DateTime.minutes, m_DateTime.seconds);
    sDescription += buf;
  }
  
***************
*** 4697,4708 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "Colorant Count : %u\r\n", m_nCount);
    sDescription += buf;
!   sDescription += "Order of Colorants:\r\n";
    
    for (int i=0; i<(int)m_nCount; i++) {
!     sprintf(buf, "%u\r\n", m_pData[i]);
      sDescription += buf;
    }
  }
--- 4697,4708 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "Colorant Count : %u\n", m_nCount);
    sDescription += buf;
!   sDescription += "Order of Colorants:\n";
    
    for (int i=0; i<(int)m_nCount; i++) {
!     sprintf(buf, "%u\n", m_pData[i]);
      sDescription += buf;
    }
  }
***************
*** 4757,4763 ****
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
--- 4757,4763 ----
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
***************
*** 4765,4771 ****
    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of colorants.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 4765,4771 ----
    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of colorants.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 4977,4983 ****
    icUInt32Number i, nLen, nMaxLen=0;
    icFloatNumber Lab[3];
  
!   sprintf(buf, "BEGIN_COLORANTS %u\r\n", m_nCount);
    sDescription += buf;
  
    for (i=0; i<m_nCount; i++) {
--- 4977,4983 ----
    icUInt32Number i, nLen, nMaxLen=0;
    icFloatNumber Lab[3];
  
!   sprintf(buf, "BEGIN_COLORANTS %u\n", m_nCount);
    sDescription += buf;
  
    for (i=0; i<m_nCount; i++) {
***************
*** 4988,4998 ****
    sDescription += "# NAME ";
  
    if (m_PCS == icSigXYZData) {
!     sprintf(buf, "XYZ_X XYZ_Y XYZ_Z\r\n");
      sDescription += buf;
    }
    else {
!     sprintf(buf, "Lab_L Lab_a Lab_b\r\n");
      sDescription += buf;
    }
    for (i=0; i<m_nCount; i++) {
--- 4988,4998 ----
    sDescription += "# NAME ";
  
    if (m_PCS == icSigXYZData) {
!     sprintf(buf, "XYZ_X XYZ_Y XYZ_Z\n");
      sDescription += buf;
    }
    else {
!     sprintf(buf, "Lab_L Lab_a Lab_b\n");
      sDescription += buf;
    }
    for (i=0; i<m_nCount; i++) {
***************
*** 5003,5009 ****
      sDescription += buf;
  
      if (m_PCS == icSigXYZData) {
!       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]));
        sDescription += buf;
      }
      else {
--- 5003,5009 ----
      sDescription += buf;
  
      if (m_PCS == icSigXYZData) {
!       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]));
        sDescription += buf;
      }
      else {
***************
*** 5011,5017 ****
        Lab[1] = icU16toF(m_pData[i].data[1]);
        Lab[2] = icU16toF(m_pData[i].data[2]);
        icLabFromPcs(Lab);
!       sprintf(buf, "%7.4lf %8.4lf %8.4lf\r\n", Lab[0], Lab[1], Lab[2]);
        sDescription += buf;
      }
    }
--- 5011,5017 ----
        Lab[1] = icU16toF(m_pData[i].data[1]);
        Lab[2] = icU16toF(m_pData[i].data[2]);
        icLabFromPcs(Lab);
!       sprintf(buf, "%7.4lf %8.4lf %8.4lf\n", Lab[0], Lab[1], Lab[2]);
        sDescription += buf;
      }
    }
***************
*** 5066,5072 ****
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
--- 5066,5072 ----
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
***************
*** 5076,5082 ****
      if (pProfile->m_Header.deviceClass!=icSigLinkClass) {
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
!       sReport += " - Use of this tag is allowed only in DeviceLink Profiles.\r\n";
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
    }
--- 5076,5082 ----
      if (pProfile->m_Header.deviceClass!=icSigLinkClass) {
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
!       sReport += " - Use of this tag is allowed only in DeviceLink Profiles.\n";
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
    }
***************
*** 5084,5090 ****
    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of colorants.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 5084,5090 ----
    if (m_nCount != icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of colorants.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 5261,5273 ****
    icChar buf[128];
    CIccInfo Fmt;
  
!   sprintf(buf, "Illuminant Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\r\n", 
                 icFtoD(m_XYZIllum.X), 
                 icFtoD(m_XYZIllum.Y),
                 icFtoD(m_XYZIllum.Z));
    sDescription += buf;
  
!   sprintf(buf, "Surround Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\r\n",
                 icFtoD(m_XYZSurround.X),
                 icFtoD(m_XYZSurround.Y),
                 icFtoD(m_XYZSurround.Z));
--- 5261,5273 ----
    icChar buf[128];
    CIccInfo Fmt;
  
!   sprintf(buf, "Illuminant Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n", 
                 icFtoD(m_XYZIllum.X), 
                 icFtoD(m_XYZIllum.Y),
                 icFtoD(m_XYZIllum.Z));
    sDescription += buf;
  
!   sprintf(buf, "Surround Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n",
                 icFtoD(m_XYZSurround.X),
                 icFtoD(m_XYZSurround.Y),
                 icFtoD(m_XYZSurround.Z));
***************
*** 5276,5282 ****
    sDescription += "Illuminant Type: ";
  
    sDescription += Fmt.GetIlluminantName(m_illumType);
!   sDescription += "\r\n";
  
  }
  
--- 5276,5282 ----
    sDescription += "Illuminant Type: ";
  
    sDescription += Fmt.GetIlluminantName(m_illumType);
!   sDescription += "\n";
  
  }
  
***************
*** 5800,5831 ****
    icChar buf[128], buf2[28];
    icUInt32Number count=0;
  
!   sprintf(buf, "Number of Profile Description Structures: %u\r\n", m_Descriptions->size());
    sDescription += buf;
  
    for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
!     sDescription += "\r\n";
  
!     sprintf(buf, "Profile Description Structure Number [%u] follows:\r\n", count+1);
      sDescription += buf;
  
!     sprintf(buf, "Device Manufacturer Signature: %s\r\n", icGetSig(buf2, i->m_deviceMfg, false));
      sDescription += buf;
  
!     sprintf(buf, "Device Model Signature: %s\r\n", icGetSig(buf2, i->m_deviceModel, false));
      sDescription += buf;
  
!     sprintf(buf, "Device Attributes: %08x%08x\r\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
      sDescription += buf;
  
!     sprintf(buf, "Device Technology Signature: %s\r\n", icGetSig(buf2, i->m_technology, false));
      sDescription += buf;
  
!     sprintf(buf, "Description of device manufacturer: \r\n");
      sDescription += buf;
      i->m_deviceMfgDesc.Describe(sDescription);
  
!     sprintf(buf, "Description of device model: \r\n");
      sDescription += buf;
      i->m_deviceModelDesc.Describe(sDescription);
    }
--- 5800,5831 ----
    icChar buf[128], buf2[28];
    icUInt32Number count=0;
  
!   sprintf(buf, "Number of Profile Description Structures: %u\n", m_Descriptions->size());
    sDescription += buf;
  
    for (i=m_Descriptions->begin(); i!=m_Descriptions->end(); i++, count++) {
!     sDescription += "\n";
  
!     sprintf(buf, "Profile Description Structure Number [%u] follows:\n", count+1);
      sDescription += buf;
  
!     sprintf(buf, "Device Manufacturer Signature: %s\n", icGetSig(buf2, i->m_deviceMfg, false));
      sDescription += buf;
  
!     sprintf(buf, "Device Model Signature: %s\n", icGetSig(buf2, i->m_deviceModel, false));
      sDescription += buf;
  
!     sprintf(buf, "Device Attributes: %08x%08x\n", (icUInt32Number)(i->m_attributes >> 32), (icUInt32Number)(i->m_attributes));
      sDescription += buf;
  
!     sprintf(buf, "Device Technology Signature: %s\n", icGetSig(buf2, i->m_technology, false));
      sDescription += buf;
  
!     sprintf(buf, "Description of device manufacturer: \n");
      sDescription += buf;
      i->m_deviceMfgDesc.Describe(sDescription);
  
!     sprintf(buf, "Description of device model: \n");
      sDescription += buf;
      i->m_deviceModelDesc.Describe(sDescription);
    }
***************
*** 5886,5892 ****
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Technology.\r\n", Info.GetSigName(i->m_technology));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
--- 5886,5892 ----
        {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sprintf(buf, " - %s: Unknown Technology.\n", Info.GetSigName(i->m_technology));
          sReport += buf;
          rv = icMaxStatus(rv, icValidateNonCompliant);
        }
***************
*** 5896,5902 ****
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
  
!       sReport += " Contains non-aligned deviceMfgDesc text tag information\r\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
--- 5896,5902 ----
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
  
!       sReport += " Contains non-aligned deviceMfgDesc text tag information\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
***************
*** 5905,5911 ****
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
  
!       sReport += " Contains non-aligned deviceModelDesc text tag information\r\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
--- 5905,5911 ----
        sReport += icValidateNonCompliantMsg;
        sReport += sSigName;
  
!       sReport += " Contains non-aligned deviceModelDesc text tag information\n";
  
        rv = icMaxStatus(rv, icValidateNonCompliant);
      }
***************
*** 6174,6198 ****
    CIccResponse16List::iterator j;
  
    sDescription += "Measurement Unit: ";
!   sDescription += Fmt.GetMeasurementUnit((icSignature)GetMeasurementType()); sDescription += "\r\n";
  
    
    for (int i=0; i<m_nChannels; i++) {
      nResponseList = m_Response16ListArray[i];
  
!     sDescription += "\r\n";
!     sprintf(buf, "Maximum Colorant XYZ Measurement for Channel-%u : X=%.4lf, Y=%.4lf, Z=%.4lf\r\n", i+1, 
        icFtoD(m_maxColorantXYZ[i].X), icFtoD(m_maxColorantXYZ[i].Y), icFtoD(m_maxColorantXYZ[i].Z));
      sDescription += buf;
  
!     sprintf(buf, "Number of Measurements for Channel-%u : %u\r\n", i+1, nResponseList.size());
      sDescription += buf;
  
!     sprintf(buf, "Measurement Data for Channel-%u follows:\r\n", i+1);
      sDescription += buf;
  
      for (j=nResponseList.begin(); j!=nResponseList.end(); j++) {
!       sprintf(buf, "Device Value= %u : Measurement Value= %.4lf\r\n", j->deviceCode, icFtoD(j->measurementValue));
        sDescription += buf;
      }
    }
--- 6174,6198 ----
    CIccResponse16List::iterator j;
  
    sDescription += "Measurement Unit: ";
!   sDescription += Fmt.GetMeasurementUnit((icSignature)GetMeasurementType()); sDescription += "\n";
  
    
    for (int i=0; i<m_nChannels; i++) {
      nResponseList = m_Response16ListArray[i];
  
!     sDescription += "\n";
!     sprintf(buf, "Maximum Colorant XYZ Measurement for Channel-%u : X=%.4lf, Y=%.4lf, Z=%.4lf\n", i+1, 
        icFtoD(m_maxColorantXYZ[i].X), icFtoD(m_maxColorantXYZ[i].Y), icFtoD(m_maxColorantXYZ[i].Z));
      sDescription += buf;
  
!     sprintf(buf, "Number of Measurements for Channel-%u : %u\n", i+1, nResponseList.size());
      sDescription += buf;
  
!     sprintf(buf, "Measurement Data for Channel-%u follows:\n", i+1);
      sDescription += buf;
  
      for (j=nResponseList.begin(); j!=nResponseList.end(); j++) {
!       sprintf(buf, "Device Value= %u : Measurement Value= %.4lf\n", j->deviceCode, icFtoD(j->measurementValue));
        sDescription += buf;
      }
    }
***************
*** 6234,6240 ****
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Unknown measurement unit signature.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 6234,6240 ----
    default:
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Unknown measurement unit signature.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 6241,6247 ****
    if (!m_nChannels) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of channels.\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
      return rv;
    }
--- 6241,6247 ----
    if (!m_nChannels) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of channels.\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
      return rv;
    }
***************
*** 6479,6495 ****
    CIccResponseCurveSet::iterator i;
    icChar buf[128];
  
!   sprintf(buf, "Number of Channels: %u\r\n", m_nChannels);
    sDescription += buf;
  
!   sprintf(buf, "Number of Measurement Types used: %u\r\n", m_ResponseCurves->size());
    sDescription += buf;
  
    int count = 0;
    for (i=m_ResponseCurves->begin(); i!=m_ResponseCurves->end(); i++, count++) {
!      sDescription += "\r\n";
  
!     sprintf(buf, "Response Curve for measurement type [%u] follows:\r\n", count+1);
      sDescription += buf;
  
      i->Describe(sDescription);
--- 6479,6495 ----
    CIccResponseCurveSet::iterator i;
    icChar buf[128];
  
!   sprintf(buf, "Number of Channels: %u\n", m_nChannels);
    sDescription += buf;
  
!   sprintf(buf, "Number of Measurement Types used: %u\n", m_ResponseCurves->size());
    sDescription += buf;
  
    int count = 0;
    for (i=m_ResponseCurves->begin(); i!=m_ResponseCurves->end(); i++, count++) {
!      sDescription += "\n";
  
!     sprintf(buf, "Response Curve for measurement type [%u] follows:\n", count+1);
      sDescription += buf;
  
      i->Describe(sDescription);
***************
*** 6658,6664 ****
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
--- 6658,6664 ----
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
***************
*** 6666,6678 ****
    if (m_nChannels!=icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of channels.\r\n";
    }
  
    if (!GetNumResponseCurveTypes()) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty Tag!.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
    else {
--- 6666,6678 ----
    if (m_nChannels!=icGetSpaceSamples(pProfile->m_Header.colorSpace)) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Incorrect number of channels.\n";
    }
  
    if (!GetNumResponseCurveTypes()) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Empty Tag!.\n";
      rv = icMaxStatus(rv, icValidateWarning);
    }
    else {
*** misc/SampleICC-1.3.2/IccProfLib/IccTagLut.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagLut.cpp	Fri Jan 25 14:23:09 2008
***************
*** 323,345 ****
    icChar buf[128], *ptr;
  
    if (!m_nSize) {
!     sprintf(buf, "BEGIN_CURVE In_Out\r\n");
      sDescription += buf;
!     sDescription += "Y = X\r\n";
    }
    else if (m_nSize==1) {
      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
!     sprintf(buf, "BEGIN_CURVE In_Out\r\n");
      sDescription += buf;
!     sprintf(buf, "Y = X ^ %.4lf\r\n", dGamma);
      sDescription += buf;
    }
    else {
      int i;
  
!     sprintf(buf, "BEGIN_LUT In_Out 1 1\r\n");
      sDescription += buf;
!     sDescription += "IN OUT\r\n";
  
      for (i=0; i<(int)m_nSize; i++) {
        ptr = buf;
--- 323,345 ----
    icChar buf[128], *ptr;
  
    if (!m_nSize) {
!     sprintf(buf, "BEGIN_CURVE In_Out\n");
      sDescription += buf;
!     sDescription += "Y = X\n";
    }
    else if (m_nSize==1) {
      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
!     sprintf(buf, "BEGIN_CURVE In_Out\n");
      sDescription += buf;
!     sprintf(buf, "Y = X ^ %.4lf\n", dGamma);
      sDescription += buf;
    }
    else {
      int i;
  
!     sprintf(buf, "BEGIN_LUT In_Out 1 1\n");
      sDescription += buf;
!     sDescription += "IN OUT\n";
  
      for (i=0; i<(int)m_nSize; i++) {
        ptr = buf;
***************
*** 354,365 ****
  
        ptr += strlen(ptr);
  
!       strcpy(ptr, "\r\n");
  
        sDescription += buf;
      }
    }
!   sDescription += "\r\n";
  }
  
  
--- 354,365 ----
  
        ptr += strlen(ptr);
  
!       strcpy(ptr, "\n");
  
        sDescription += buf;
      }
    }
!   sDescription += "\n";
  }
  
  
***************
*** 383,405 ****
    icChar buf[128], *ptr;
  
    if (!m_nSize) {
!     sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
      sDescription += buf;
!     sDescription += "Y = X\r\n";
    }
    else if (m_nSize==1) {
      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
!     sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
      sDescription += buf;
!     sprintf(buf, "Y = X ^ %.4lf\r\n", dGamma);
      sDescription += buf;
    }
    else {
      int i;
  
!     sprintf(buf, "BEGIN_LUT %s 1 1\r\n", szName);
      sDescription += buf;
!     sDescription += "IN OUT\r\n";
  
      sDescription.reserve(sDescription.size() + m_nSize * 20);
  
--- 383,405 ----
    icChar buf[128], *ptr;
  
    if (!m_nSize) {
!     sprintf(buf, "BEGIN_CURVE %s\n", szName);
      sDescription += buf;
!     sDescription += "Y = X\n";
    }
    else if (m_nSize==1) {
      icFloatNumber dGamma = (icFloatNumber)(m_Curve[0] * 256.0);
!     sprintf(buf, "BEGIN_CURVE %s\n", szName);
      sDescription += buf;
!     sprintf(buf, "Y = X ^ %.4lf\n", dGamma);
      sDescription += buf;
    }
    else {
      int i;
  
!     sprintf(buf, "BEGIN_LUT %s 1 1\n", szName);
      sDescription += buf;
!     sDescription += "IN OUT\n";
  
      sDescription.reserve(sDescription.size() + m_nSize * 20);
  
***************
*** 416,427 ****
  
        ptr += strlen(ptr);
  
!       strcpy(ptr, "\r\n");
  
        sDescription += buf;
      }
    }
!   sDescription += "\r\n";
  }
  
  
--- 416,427 ----
  
        ptr += strlen(ptr);
  
!       strcpy(ptr, "\n");
  
        sDescription += buf;
      }
    }
!   sDescription += "\n";
  }
  
  
***************
*** 614,620 ****
          if (m_Curve[0]>0.0 || m_Curve[m_nSize-1]<1.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Curve cannot be accurately inverted.\r\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
--- 614,620 ----
          if (m_Curve[0]>0.0 || m_Curve[m_nSize-1]<1.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Curve cannot be accurately inverted.\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
***************
*** 822,877 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "FunctionType: %04Xh\r\n", m_nFunctionType);
    sDescription += buf;
  
    switch(m_nFunctionType) {
  case 0x0000:
!   sprintf(buf, "Y = X ^ %.4lf\r\n", icFtoD(m_Param[0]));
    sDescription += buf;
    return;
  
  case 0x0001:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf / %.4lf)\r\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
  
!   sprintf(buf, "Y = 0 when (X < %.4lf / %.4lf)\r\n",
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
    return;
  
  case 0x0002:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf   when (X >= %.4lf / %.4lf)\r\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[3]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %.4lf   when (X < %.4lf / %.4lf)\r\n", icFtoD(m_Param[3]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
    return;
  
  case 0x0003:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf)\r\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[4]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %lf * X   when (X < %.4lf)\r\n",
      icFtoD(m_Param[3]), icFtoD(m_Param[4]));
    sDescription += buf;
    return;
  
  case 0x0004:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf  when (X >= %.4lf)\r\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[5]), icFtoD(m_Param[4]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %lf * X + %.4lf  when (X < %.4lf)\r\n",
      icFtoD(m_Param[3]), icFtoD(m_Param[6]), icFtoD(m_Param[4]));
    sDescription += buf;
    return;
--- 822,877 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "FunctionType: %04Xh\n", m_nFunctionType);
    sDescription += buf;
  
    switch(m_nFunctionType) {
  case 0x0000:
!   sprintf(buf, "Y = X ^ %.4lf\n", icFtoD(m_Param[0]));
    sDescription += buf;
    return;
  
  case 0x0001:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf / %.4lf)\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
  
!   sprintf(buf, "Y = 0 when (X < %.4lf / %.4lf)\n",
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
    return;
  
  case 0x0002:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf   when (X >= %.4lf / %.4lf)\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[3]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %.4lf   when (X < %.4lf / %.4lf)\n", icFtoD(m_Param[3]),
      -icFtoD(m_Param[2]), icFtoD(m_Param[1]));
    sDescription += buf;
    return;
  
  case 0x0003:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf   when (X >= %.4lf)\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[4]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %lf * X   when (X < %.4lf)\n",
      icFtoD(m_Param[3]), icFtoD(m_Param[4]));
    sDescription += buf;
    return;
  
  case 0x0004:
!   sprintf(buf, "Y = (%.4lf * X + %.4lf) ^ %.4lf + %.4lf  when (X >= %.4lf)\n",
      icFtoD(m_Param[1]), icFtoD(m_Param[2]), icFtoD(m_Param[0]),
      icFtoD(m_Param[5]), icFtoD(m_Param[4]));
    sDescription += buf;
  
!   sprintf(buf, "Y = %lf * X + %.4lf  when (X < %.4lf)\n",
      icFtoD(m_Param[3]), icFtoD(m_Param[6]), icFtoD(m_Param[4]));
    sDescription += buf;
    return;
***************
*** 878,888 ****
  
  default:
    int i;
!   sprintf(buf, "Unknown Function with %d parameters:\r\n");
    sDescription += buf;
  
    for (i=0; i<m_nNumParam; i++) {
!     sprintf(buf, "Param[%d] = %.4lf\r\n", i, icFtoD(m_Param[i]));
      sDescription += buf;
    }
    }
--- 878,888 ----
  
  default:
    int i;
!   sprintf(buf, "Unknown Function with %d parameters:\n", m_nNumParam);
    sDescription += buf;
  
    for (i=0; i<m_nNumParam; i++) {
!     sprintf(buf, "Param[%d] = %.4lf\n", i, icFtoD(m_Param[i]));
      sDescription += buf;
    }
    }
***************
*** 907,916 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN_CURVE %s\r\n", szName);
    sDescription += buf;
    Describe(sDescription);
!   sDescription += "\r\n";
  }
  
  
--- 907,916 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN_CURVE %s\n", szName);
    sDescription += buf;
    Describe(sDescription);
!   sDescription += "\n";
  }
  
  
***************
*** 1106,1112 ****
    if (m_nReserved2!=0) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\r\n";
  
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
--- 1106,1112 ----
    if (m_nReserved2!=0) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\n";
  
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
***************
*** 1116,1122 ****
    if (m_nNumParam!=1) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
--- 1116,1122 ----
    if (m_nNumParam!=1) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
***************
*** 1125,1131 ****
    if (m_nNumParam!=3) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
--- 1125,1131 ----
    if (m_nNumParam!=3) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
***************
*** 1134,1140 ****
    if (m_nNumParam!=4) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
--- 1134,1140 ----
    if (m_nNumParam!=4) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
***************
*** 1143,1149 ****
    if (m_nNumParam!=5) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
--- 1143,1149 ----
    if (m_nNumParam!=5) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
***************
*** 1152,1158 ****
    if (m_nNumParam!=7) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
--- 1152,1158 ----
    if (m_nNumParam!=7) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " - Number of parameters inconsistent with function type.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
    }
    break;
***************
*** 1160,1166 ****
  default:
    sReport += icValidateCriticalErrorMsg;
    sReport += sSigName;
!   sReport += " - Unknown function type.\r\n";
    rv = icMaxStatus(rv, icValidateCriticalError);
    }
  
--- 1160,1166 ----
  default:
    sReport += icValidateCriticalErrorMsg;
    sReport += sSigName;
!   sReport += " - Unknown function type.\n";
    rv = icMaxStatus(rv, icValidateCriticalError);
    }
  
***************
*** 1170,1176 ****
      if (lval>0.0 || uval<1.0) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Curve cannot be accurately inverted.\r\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
    }
--- 1170,1176 ----
      if (lval>0.0 || uval<1.0) {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " - Curve cannot be accurately inverted.\n";
        rv = icMaxStatus(rv, icValidateWarning);
      }
    }
***************
*** 1255,1286 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN_MATRIX %s\r\n", szName);
    sDescription += buf;
  
    if (!m_bUseConstants) {
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
        m_e[0], m_e[1], m_e[2]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
        m_e[3], m_e[4], m_e[5]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n",
        m_e[6], m_e[7], m_e[8]);
      sDescription += buf;
    }
    else {
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
        m_e[0], m_e[1], m_e[2], m_e[9]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
        m_e[3], m_e[4], m_e[5], m_e[10]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\r\n",
        m_e[6], m_e[7], m_e[8], m_e[11]);
      sDescription += buf;
    }
!   sDescription += "\r\n";
  }
  
  /**
--- 1255,1286 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN_MATRIX %s\n", szName);
    sDescription += buf;
  
    if (!m_bUseConstants) {
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
        m_e[0], m_e[1], m_e[2]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
        m_e[3], m_e[4], m_e[5]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf\n",
        m_e[6], m_e[7], m_e[8]);
      sDescription += buf;
    }
    else {
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
        m_e[0], m_e[1], m_e[2], m_e[9]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
        m_e[3], m_e[4], m_e[5], m_e[10]);
      sDescription += buf;
!     sprintf(buf, "%8.4lf %8.4lf %8.4lf  +  %8.4lf\n",
        m_e[6], m_e[7], m_e[8], m_e[11]);
      sDescription += buf;
    }
!   sDescription += "\n";
  }
  
  /**
***************
*** 1377,1383 ****
        if (m_e[0]!=1.0 || m_e[4]!=1.0 || m_e[9]!=1.0 || sum!=3.0) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Matrix must be identity.\r\n";
          rv = icValidateNonCompliant;
        }
      }
--- 1377,1383 ----
        if (m_e[0]!=1.0 || m_e[4]!=1.0 || m_e[9]!=1.0 || sum!=3.0) {
          sReport += icValidateNonCompliantMsg;
          sReport += sSigName;
!         sReport += " - Matrix must be identity.\n";
          rv = icValidateNonCompliant;
        }
      }
***************
*** 1754,1760 ****
  
        ptr += sprintf(ptr, " %s", m_pVal);
      }
!     strcpy(ptr, "\r\n");
      sDescription += (const icChar*)m_pOutText;
  
    }
--- 1754,1760 ----
  
        ptr += sprintf(ptr, " %s", m_pVal);
      }
!     strcpy(ptr, "\n");
      sDescription += (const icChar*)m_pOutText;
  
    }
***************
*** 1866,1872 ****
    icChar szOutText[2048], szColor[40];
    int i, len;
  
!   sprintf(szOutText, "BEGIN_LUT %s %d %d\r\n", szName, m_nInput, m_nOutput);
    sDescription += szOutText;
  
    for (i=0; i<m_nInput; i++) {
--- 1866,1872 ----
    icChar szOutText[2048], szColor[40];
    int i, len;
  
!   sprintf(szOutText, "BEGIN_LUT %s %d %d\n", szName, m_nInput, m_nOutput);
    sDescription += szOutText;
  
    for (i=0; i<m_nInput; i++) {
***************
*** 1883,1889 ****
      sDescription += szOutText;
    }
  
!   sDescription += "\r\n";
  
    len = 0;
    for (i=0; i<m_nInput; i++) {
--- 1883,1889 ----
      sDescription += szOutText;
    }
  
!   sDescription += "\n";
  
    len = 0;
    for (i=0; i<m_nInput; i++) {
***************
*** 1907,1913 ****
  
    Iterate(sDescription, 0, 0);
    
!   sDescription += "\r\n";
  }
  
  
--- 1907,1913 ----
  
    Iterate(sDescription, 0, 0);
    
!   sDescription += "\n";
  }
  
  
***************
*** 2693,2699 ****
    if (m_nReserved2[0]!=0 || m_nReserved2[1]!=0 || m_nReserved2[2]!=0) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\r\n";
  
      rv = icValidateNonCompliant;
    }
--- 2693,2699 ----
    if (m_nReserved2[0]!=0 || m_nReserved2[1]!=0 || m_nReserved2[2]!=0) {
      sReport += icValidateNonCompliantMsg;
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\n";
  
      rv = icValidateNonCompliant;
    }
***************
*** 2704,2710 ****
        if (m_GridPoints[i]<2) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sprintf(temp, " - CLUT: At least 2 grid points should be present in dimension %u.\r\n",i );
          sReport += temp;
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
--- 2704,2710 ----
        if (m_GridPoints[i]<2) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sprintf(temp, " - CLUT: At least 2 grid points should be present in dimension %u.\n",i );
          sReport += temp;
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
***************
*** 3122,3128 ****
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
--- 3122,3128 ----
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
      rv = icMaxStatus(rv, icValidateWarning);
      return rv;
    }
***************
*** 3138,3144 ****
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3138,3144 ----
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3146,3152 ****
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3146,3152 ----
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3160,3166 ****
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3160,3166 ----
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3168,3174 ****
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3168,3174 ----
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3180,3186 ****
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3180,3186 ----
        if (m_nInput!=nInput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of input channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3188,3194 ****
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3188,3194 ----
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3206,3212 ****
      if (!m_CLUT) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " - CLUT must be present.\r\n";
        rv = icMaxStatus(rv, icValidateCriticalError);          
      }
    }
--- 3206,3212 ----
      if (!m_CLUT) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " - CLUT must be present.\n";
        rv = icMaxStatus(rv, icValidateCriticalError);          
      }
    }
***************
*** 3748,3754 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3748,3754 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 3762,3768 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of M-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3762,3768 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of M-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 3772,3778 ****
          if (!m_CLUT) {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - CLUT must be present if using A-curves.\r\n";
  
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
--- 3772,3778 ----
          if (!m_CLUT) {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - CLUT must be present if using A-curves.\n";
  
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
***************
*** 3784,3790 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3784,3790 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 3876,3882 ****
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\r\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
      return rv;
    }
--- 3876,3882 ----
    if (!pProfile) {
      sReport += icValidateWarningMsg;
      sReport += sSigName;
!     sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
      rv = icMaxStatus(rv, icValidateCriticalError);
      return rv;
    }
***************
*** 3900,3906 ****
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\r\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
--- 3900,3906 ----
        if (m_nOutput!=nOutput) {
          sReport += icValidateCriticalErrorMsg;
          sReport += sSigName;
!         sReport += " - Incorrect number of output channels.\n";
          rv = icMaxStatus(rv, icValidateCriticalError);
        }
  
***************
*** 3913,3919 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3913,3919 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 3927,3933 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of M-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3927,3933 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of M-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 3937,3943 ****
          if (!m_CLUT) {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - CLUT must be present if using A-curves.\r\n";
  
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
--- 3937,3943 ----
          if (!m_CLUT) {
            sReport += icValidateNonCompliantMsg;
            sReport += sSigName;
!           sReport += " - CLUT must be present if using A-curves.\n";
  
            rv = icMaxStatus(rv, icValidateNonCompliant);
          }
***************
*** 3949,3955 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 3949,3955 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 4311,4317 ****
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut8Tags do not support single entry gamma curves.\r\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
--- 4311,4317 ----
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut8Tags do not support single entry gamma curves.\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
***************
*** 4319,4325 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 4319,4325 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 4336,4342 ****
          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Matrix must be identity.\r\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
--- 4336,4342 ----
          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Matrix must be identity.\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
***************
*** 4351,4357 ****
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut8Tags do not support single entry gamma curves.\r\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
--- 4351,4357 ----
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut8Tags do not support single entry gamma curves.\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
***************
*** 4359,4365 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 4359,4365 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 4721,4727 ****
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut16Tags do not support single entry gamma curves.\r\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
--- 4721,4727 ----
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut16Tags do not support single entry gamma curves.\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
***************
*** 4729,4735 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 4729,4735 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of B-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
***************
*** 4746,4752 ****
          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Matrix must be identity.\r\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
--- 4746,4752 ----
          if (m_XYZMatrix[0]!=1.0 || m_XYZMatrix[4]!=1.0 || m_XYZMatrix[9]!=1.0 || sum!=3.0) {
            sReport += icValidateWarningMsg;
            sReport += sSigName;
!           sReport += " - Matrix must be identity.\n";
            rv = icMaxStatus(rv, icValidateWarning);
          }
        }
***************
*** 4761,4767 ****
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut16Tags do not support single entry gamma curves.\r\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
--- 4761,4767 ----
                if (pTagCurve->GetSize()==1) {
                  sReport += icValidateCriticalErrorMsg;
                  sReport += sSigName;
!                 sReport += " - lut16Tags do not support single entry gamma curves.\n";
                  rv = icMaxStatus(rv, icValidateCriticalError);
                }
              }
***************
*** 4769,4775 ****
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\r\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
--- 4769,4775 ----
            else {
              sReport += icValidateCriticalErrorMsg;
              sReport += sSigName;
!             sReport += " - Incorrect number of A-curves.\n";
              rv = icMaxStatus(rv, icValidateCriticalError);
            }
          }
*** misc/SampleICC-1.3.2/IccProfLib/IccTagMPE.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagMPE.cpp	Fri Jan 25 14:23:09 2008
***************
*** 218,224 ****
            icGetSig(sigbuf, m_sig), m_nSize);
    sDescription += buf;
  
!   sDescription += "\r\n\r\nData Follows:\r\n";
  
    icMemDump(sDescription, m_pData, m_nSize);
  
--- 218,224 ----
            icGetSig(sigbuf, m_sig), m_nSize);
    sDescription += buf;
  
!   sDescription += "\n\nData Follows:\n";
  
    icMemDump(sDescription, m_pData, m_nSize);
  
***************
*** 364,370 ****
    sReport += " - Contains unknown processing element type (";
    icGetSig(buf, m_sig, true);
    sReport += buf;
!   sReport += ").\r\n";
  
    return icValidateCriticalError;
  }
--- 364,370 ----
    sReport += " - Contains unknown processing element type (";
    icGetSig(buf, m_sig, true);
    sReport += buf;
!   sReport += ").\n";
  
    return icValidateCriticalError;
  }
***************
*** 392,398 ****
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\r\n";
  
      rv = icValidateNonCompliant;
    }
--- 392,398 ----
      sReport += " - Element ";
      sSigName = Info.GetSigName(GetType());
      sReport += sSigName;
!     sReport += " - Reserved Value must be zero.\n";
  
      rv = icValidateNonCompliant;
    }
***************
*** 738,755 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN MULTI_PROCESS_ELEMENT_TAG %d %d\r\n", m_nInputChannels, m_nOutputChannels);
    sDescription += buf;
!   sDescription += "\r\n";
  
    CIccMultiProcessElementList::iterator i;
    int j;
  
    for (j=0, i=m_list->begin(); i!=m_list->end(); j++, i++) {
!     sprintf(buf, "PROCESS_ELEMENT #%d\r\n", j+1);
      sDescription += buf;
      i->ptr->Describe(sDescription);
!     sDescription += "\r\n";
    }
  }
  
--- 738,755 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN MULTI_PROCESS_ELEMENT_TAG %d %d\n", m_nInputChannels, m_nOutputChannels);
    sDescription += buf;
!   sDescription += "\n";
  
    CIccMultiProcessElementList::iterator i;
    int j;
  
    for (j=0, i=m_list->begin(); i!=m_list->end(); j++, i++) {
!     sprintf(buf, "PROCESS_ELEMENT #%d\n", j+1);
      sDescription += buf;
      i->ptr->Describe(sDescription);
!     sDescription += "\n";
    }
  }
  
***************
*** 1207,1219 ****
      if (m_nInputChannels != m_nOutputChannels) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " No processing elements and input and output channels do not match!\r\n";
        return icValidateCriticalError;
      }
      else {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " No processing elements.\r\n";
        return icValidateWarning;
      }
    }
--- 1207,1219 ----
      if (m_nInputChannels != m_nOutputChannels) {
        sReport += icValidateCriticalErrorMsg;
        sReport += sSigName;
!       sReport += " No processing elements and input and output channels do not match!\n";
        return icValidateCriticalError;
      }
      else {
        sReport += icValidateWarningMsg;
        sReport += sSigName;
!       sReport += " No processing elements.\n";
        return icValidateWarning;
      }
    }
***************
*** 1224,1230 ****
    if (i->ptr->NumInputChannels() != m_nInputChannels) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Mis-matching number of input channels!\r\n";
      return icValidateCriticalError;
    }
  
--- 1224,1230 ----
    if (i->ptr->NumInputChannels() != m_nInputChannels) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Mis-matching number of input channels!\n";
      return icValidateCriticalError;
    }
  
***************
*** 1239,1245 ****
          sReport += "->";
          sReport += i->ptr->GetClassName();
  
!         sReport += " Mis-matching number of channels!\r\n";
          return icValidateCriticalError;
        }
      }
--- 1239,1245 ----
          sReport += "->";
          sReport += i->ptr->GetClassName();
  
!         sReport += " Mis-matching number of channels!\n";
          return icValidateCriticalError;
        }
      }
***************
*** 1251,1257 ****
    if (last && last->NumOutputChannels() != m_nOutputChannels) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Mis-matching number of output channels!\r\n";
      return icValidateCriticalError;
    }
  
--- 1251,1257 ----
    if (last && last->NumOutputChannels() != m_nOutputChannels) {
      sReport += icValidateCriticalErrorMsg;
      sReport += sSigName;
!     sReport += " Mis-matching number of output channels!\n";
      return icValidateCriticalError;
    }
  
*** misc/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.cpp	Fri Jan 25 14:23:09 2008
***************
*** 234,240 ****
  {
    std::string Dump;
  
!   sDescription += "ProfileID:\r\n";
  
    int i;
    char buf[20];
--- 234,240 ----
  {
    std::string Dump;
  
!   sDescription += "ProfileID:\n";
  
    int i;
    char buf[20];
***************
*** 244,255 ****
      sprintf(buf, "%2x", m_profileID.ID8[i]);
      sDescription += buf;
    }
!   sDescription += "\r\n";
  
!   sDescription += "Description:\r\n";
    m_desc.Describe(sDescription);
  
!   sDescription += "\r\n";
  }
  
  
--- 244,255 ----
      sprintf(buf, "%2x", m_profileID.ID8[i]);
      sDescription += buf;
    }
!   sDescription += "\n";
  
!   sDescription += "Description:\n";
    m_desc.Describe(sDescription);
  
!   sDescription += "\n";
  }
  
  
***************
*** 434,454 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN ProfileSequenceIdentification_TAG\r\n");
    sDescription += buf;
!   sDescription += "\r\n";
  
    int i;
    CIccProfileIdDescList::iterator j;
    for (i=0, j=m_list->begin(); j!=m_list->end(); i++, j++) {
!     sprintf(buf, "ProfileDescription_%d:\r\n", i+1);
      sDescription += buf;
      j->Describe(sDescription);
    }
  
!   sprintf(buf, "END ProfileSequenceIdentification_TAG\r\n");
    sDescription += buf;
!   sDescription += "\r\n";
  }
  
  
--- 434,454 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "BEGIN ProfileSequenceIdentification_TAG\n");
    sDescription += buf;
!   sDescription += "\n";
  
    int i;
    CIccProfileIdDescList::iterator j;
    for (i=0, j=m_list->begin(); j!=m_list->end(); i++, j++) {
!     sprintf(buf, "ProfileDescription_%d:\n", i+1);
      sDescription += buf;
      j->Describe(sDescription);
    }
  
!   sprintf(buf, "END ProfileSequenceIdentification_TAG\n");
    sDescription += buf;
!   sDescription += "\n";
  }
  
  
*** misc/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.h	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccTagProfSeqId.h	Fri Jan 25 14:23:09 2008
***************
*** 161,164 ****
  }
  #endif
  
! #endif //_ICCTAGPROFSEQID_H
--- 161,164 ----
  }
  #endif
  
! #endif //_ICCTAGPROFSEQID_H
*** misc/SampleICC-1.3.2/IccProfLib/IccUtil.cpp	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/IccUtil.cpp	Fri Jan 25 14:23:09 2008
***************
*** 79,85 ****
  #include "IccUtil.h"
  #include "IccTagFactory.h"
  #include <stdlib.h>
! #include <memory.h>
  #include <ctype.h>
  #include <math.h>
  #include <string.h>
--- 79,85 ----
  #include "IccUtil.h"
  #include "IccTagFactory.h"
  #include <stdlib.h>
! #include <memory>
  #include <ctype.h>
  #include <math.h>
  #include <string.h>
***************
*** 678,688 ****
  {
    icChar buf[128];
  
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[0]), icFtoD(pMatrix[1]), icFtoD(pMatrix[2]));
    sDump += buf;
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[3]), icFtoD(pMatrix[4]), icFtoD(pMatrix[5]));
    sDump += buf;
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\r\n", icFtoD(pMatrix[6]), icFtoD(pMatrix[7]), icFtoD(pMatrix[8]));
    sDump += buf;
  }
  
--- 679,689 ----
  {
    icChar buf[128];
  
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[0]), icFtoD(pMatrix[1]), icFtoD(pMatrix[2]));
    sDump += buf;
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[3]), icFtoD(pMatrix[4]), icFtoD(pMatrix[5]));
    sDump += buf;
!   sprintf(buf, "%8.4lf %8.4lf %8.4lf\n", icFtoD(pMatrix[6]), icFtoD(pMatrix[7]), icFtoD(pMatrix[8]));
    sDump += buf;
  }
  
***************
*** 1516,1534 ****
  
    if (XYZ.X < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative X value!\r\n";
      rv = icValidateNonCompliant;
    }
  
    if (XYZ.Y < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative Y value!\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
    if (XYZ.Z < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative Z value!\r\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
--- 1517,1535 ----
  
    if (XYZ.X < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative X value!\n";
      rv = icValidateNonCompliant;
    }
  
    if (XYZ.Y < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative Y value!\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
    if (XYZ.Z < 0) {
      sReport += icValidateNonCompliantMsg;
!     sReport += " - XYZNumber: Negative Z value!\n";
      rv = icMaxStatus(rv, icValidateNonCompliant);
    }
  
***************
*** 1548,1554 ****
    icChar buf[128];
    if (dateTime.year<1992) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
      sReport += buf;
      rv = icValidateWarning;
    }
--- 1549,1555 ----
    icChar buf[128];
    if (dateTime.year<1992) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid year!\n",dateTime.year);
      sReport += buf;
      rv = icValidateWarning;
    }
***************
*** 1557,1563 ****
    if (newtime->tm_mon==11 && newtime->tm_mday==31) {
      if (dateTime.year>(year+1)) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
--- 1558,1564 ----
    if (newtime->tm_mon==11 && newtime->tm_mday==31) {
      if (dateTime.year>(year+1)) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid year!\n",dateTime.year);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
***************
*** 1565,1571 ****
    else {
      if (dateTime.year>year) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid year!\r\n",dateTime.year);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
--- 1566,1572 ----
    else {
      if (dateTime.year>year) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid year!\n",dateTime.year);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
***************
*** 1573,1579 ****
  
    if (dateTime.month<1 || dateTime.month>12) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid month!\r\n",dateTime.month);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1574,1580 ----
  
    if (dateTime.month<1 || dateTime.month>12) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid month!\n",dateTime.month);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1580,1586 ****
  
    if (dateTime.day<1 || dateTime.day>31) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid day!\r\n",dateTime.day);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1581,1587 ----
  
    if (dateTime.day<1 || dateTime.day>31) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid day!\n",dateTime.day);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1588,1594 ****
    if (dateTime.month==2) {
      if (dateTime.day>29) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid day for February!\r\n",dateTime.day);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
--- 1589,1595 ----
    if (dateTime.month==2) {
      if (dateTime.day>29) {
        sReport += icValidateWarningMsg;
!       sprintf(buf," - %u: Invalid day for February!\n",dateTime.day);
        sReport += buf;
        rv = icMaxStatus(rv, icValidateWarning);
      }
***************
*** 1596,1602 ****
      if (dateTime.day==29) {
        if ((dateTime.year%4)!=0) {
          sReport += icValidateWarningMsg;
!         sprintf(buf," - %u: Invalid day for February, year is not a leap year(%u)!\r\n",dateTime.day, dateTime.year);
          sReport += buf;
          rv = icMaxStatus(rv, icValidateWarning);
        }
--- 1597,1603 ----
      if (dateTime.day==29) {
        if ((dateTime.year%4)!=0) {
          sReport += icValidateWarningMsg;
!         sprintf(buf," - %u: Invalid day for February, year is not a leap year(%u)!\n",dateTime.day, dateTime.year);
          sReport += buf;
          rv = icMaxStatus(rv, icValidateWarning);
        }
***************
*** 1605,1611 ****
  
    if (dateTime.hours>23) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid hour!\r\n",dateTime.hours);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1606,1612 ----
  
    if (dateTime.hours>23) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid hour!\n",dateTime.hours);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1612,1618 ****
  
    if (dateTime.minutes>59) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid minutes!\r\n",dateTime.minutes);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1613,1619 ----
  
    if (dateTime.minutes>59) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid minutes!\n",dateTime.minutes);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
***************
*** 1619,1625 ****
  
    if (dateTime.seconds>59) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid seconds!\r\n",dateTime.hours);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
--- 1620,1626 ----
  
    if (dateTime.seconds>59) {
      sReport += icValidateWarningMsg;
!     sprintf(buf," - %u: Invalid seconds!\n",dateTime.hours);
      sReport += buf;
      rv = icMaxStatus(rv, icValidateWarning);
    }
*** misc/SampleICC-1.3.2/IccProfLib/icProfileHeader.h	Mon Aug 20 22:05:00 2007
--- misc/build/SampleICC-1.3.2/IccProfLib/icProfileHeader.h	Fri Jan 25 14:23:09 2008
***************
*** 659,668 ****
  typedef enum {
      icFlare0                            = 0x00000000,  /* 0% flare */
      icFlare100                          = 0x00000001,  /* 100% flare */
  } icMeasurementFlare;
  
  /** Convenience Enum Definition - Not defined in ICC specification*/
! #define icMaxEnumFlare ((icMeasurementFlare) 0xFFFFFFFF)
  #define icMaxFlare     ((icMeasurementFlare) 0xFFFFFFFF) /* as defined by earlier versions */
  
  
--- 659,669 ----
  typedef enum {
      icFlare0                            = 0x00000000,  /* 0% flare */
      icFlare100                          = 0x00000001,  /* 100% flare */
+     icMaxEnumFlare                      = 0xFFFFFFFF
  } icMeasurementFlare;
  
  /** Convenience Enum Definition - Not defined in ICC specification*/
! /*#define icMaxEnumFlare ((icMeasurementFlare) 0xFFFFFFFF)*/
  #define icMaxFlare     ((icMeasurementFlare) 0xFFFFFFFF) /* as defined by earlier versions */
  
  
*** misc/SampleICC-1.3.2/Tools/CmdLine/Makefile.in	Mon Aug 20 22:10:42 2007
--- misc/build/SampleICC-1.3.2/Tools/CmdLine/Makefile.in	Fri Jan 25 14:23:09 2008
***************
*** 101,117 ****
  am__quote = @am__quote@
  install_sh = @install_sh@
  
! SUBDIRS = IccApplyNamedCmm \
! 	@SICC_ICC_APPLY_PROFILES@ \
! 	IccDumpProfile \
  	IccProfLibTest \
  	IccStripUnknownTags \
  	IccV4ToMPE
  
  
! DIST_SUBDIRS = IccApplyNamedCmm \
! 	IccApplyProfiles \
! 	IccDumpProfile \
  	IccProfLibTest \
  	IccStripUnknownTags \
  	IccV4ToMPE
--- 101,113 ----
  am__quote = @am__quote@
  install_sh = @install_sh@
  
! SUBDIRS = IccDumpProfile \
  	IccProfLibTest \
  	IccStripUnknownTags \
  	IccV4ToMPE
  
  
! DIST_SUBDIRS = IccDumpProfile \
  	IccProfLibTest \
  	IccStripUnknownTags \
  	IccV4ToMPE
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/CLUT.cpp	2007-08-20 22:04:53.000000000 +0200
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/CLUT.cpp	2008-01-31 13:53:16.000000000 +0100
***************
*** 77,82 ****
--- 77,84 ----
  //
  //////////////////////////////////////////////////////////////////////
  
+ #include <stdlib.h>
+ #include <string.h>
  #include <iostream>
  #include <fstream>
  #include <sstream>
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/ICC_tool_exception.h	2007-08-20 22:04:54.000000000 +0200
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/ICC_tool_exception.h	2008-01-31 13:54:51.000000000 +0100
***************
*** 83,88 ****
--- 83,89 ----
  #ifndef __DEFINED_ICC_TOOL_EXCEPTION_H__
  #define __DEFINED_ICC_TOOL_EXCEPTION_H__
  
+ #include <string.h>
  #include <exception>
  #include <string>
  
*** misc/SampleICC-1.3.2/IccProfLib/IccCmm.cpp	2007-08-20 22:05:00.000000000 +0200
--- misc/build/SampleICC-1.3.2/IccProfLib/IccCmm.cpp	2008-01-31 13:49:54.000000000 +0100
***************
*** 79,84 ****
--- 79,86 ----
  #pragma warning( disable: 4786) //disable warning in <list.h>
  #endif
  
+ #include <stdlib.h>
+ #include <string.h>
  #include "IccCmm.h"
  #include "IccTag.h"
  #include "IccIO.h"
*** misc/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.h	2007-08-20 22:04:53.000000000 +0200
--- misc/build/SampleICC-1.3.2/Contrib/ICC_utils/Vetters.h	2008-01-31 14:05:58.000000000 +0100
***************
*** 83,88 ****
--- 83,89 ----
  #include <string>
  #include <sys/types.h>
  #include <sys/stat.h>
+ #include <stdlib.h>
  
  #ifdef WIN32
  typedef unsigned short mode_t;