diff -Nru freexl-1.0.5/aclocal.m4 freexl-1.0.6/aclocal.m4 --- freexl-1.0.5/aclocal.m4 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/aclocal.m4 2020-08-02 06:48:10.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.16.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,7 +20,7 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,10 +32,10 @@ # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' +[am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.16.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -51,14 +51,14 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.16.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -110,7 +110,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -141,7 +141,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -332,13 +332,12 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -346,49 +345,41 @@ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -397,18 +388,17 @@ # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -495,8 +485,8 @@ AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. @@ -563,7 +553,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -605,7 +595,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -626,7 +616,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -648,7 +638,7 @@ # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -683,7 +673,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -691,49 +681,42 @@ # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -774,7 +757,7 @@ # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -801,7 +784,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -830,7 +813,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -877,7 +860,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -896,7 +879,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -977,7 +960,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1037,7 +1020,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1065,7 +1048,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1084,7 +1067,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2018 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru freexl-1.0.5/compile freexl-1.0.6/compile --- freexl-1.0.5/compile 2016-06-28 13:40:13.000000000 +0000 +++ freexl-1.0.6/compile 2018-03-08 20:15:51.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2012-10-14.11; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see . +# along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -255,7 +255,8 @@ echo "compile $scriptversion" exit $? ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac @@ -339,9 +340,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -Nru freexl-1.0.5/config-msvc.h freexl-1.0.6/config-msvc.h --- freexl-1.0.5/config-msvc.h 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/config-msvc.h 2020-08-02 06:43:26.000000000 +0000 @@ -86,7 +86,7 @@ #define PACKAGE_NAME "FreeXL" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "FreeXL 1.0.5" +#define PACKAGE_STRING "FreeXL 1.0.6" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "freexl" @@ -95,7 +95,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "1.0.5" +#define PACKAGE_VERSION "1.0.6" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 @@ -107,7 +107,7 @@ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "1.0.5" +#define VERSION "1.0.6" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ diff -Nru freexl-1.0.5/configure freexl-1.0.6/configure --- freexl-1.0.5/configure 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/configure 2020-08-02 06:48:10.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for FreeXL 1.0.5. +# Generated by GNU Autoconf 2.69 for FreeXL 1.0.6. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='FreeXL' PACKAGE_TARNAME='freexl' -PACKAGE_VERSION='1.0.5' -PACKAGE_STRING='FreeXL 1.0.5' +PACKAGE_VERSION='1.0.6' +PACKAGE_STRING='FreeXL 1.0.6' PACKAGE_BUGREPORT='a.furieri@lqt.it' PACKAGE_URL='' @@ -680,7 +680,6 @@ AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE -am__quote am__include DEPDIR OBJEXT @@ -757,7 +756,8 @@ PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR -SHELL' +SHELL +am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -1326,7 +1326,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures FreeXL 1.0.5 to adapt to many kinds of systems. +\`configure' configures FreeXL 1.0.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1396,7 +1396,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of FreeXL 1.0.5:";; + short | recursive ) echo "Configuration of FreeXL 1.0.6:";; esac cat <<\_ACEOF @@ -1508,7 +1508,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -FreeXL configure 1.0.5 +FreeXL configure 1.0.6 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2052,7 +2052,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by FreeXL $as_me 1.0.5, which was +It was created by FreeXL $as_me 1.0.6, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2437,7 +2437,7 @@ -am__api_version='1.15' +am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2923,7 +2923,7 @@ # Define the identity of the package. PACKAGE='freexl' - VERSION='1.0.5' + VERSION='1.0.6' cat >>confdefs.h <<_ACEOF @@ -2953,8 +2953,8 @@ # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The @@ -3005,7 +3005,7 @@ Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -3048,45 +3048,45 @@ ac_config_commands="$ac_config_commands depfiles" - -am_make=${MAKE-make} -cat > confinc << 'END' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : @@ -17813,7 +17813,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by FreeXL $as_me 1.0.5, which was +This file was extended by FreeXL $as_me 1.0.6, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17879,7 +17879,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -FreeXL config.status 1.0.5 +FreeXL config.status 1.0.6 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -17998,7 +17998,7 @@ # # INIT-COMMANDS # -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" # The HP-UX ksh and POSIX shell print the target directory to stdout @@ -18996,29 +18996,35 @@ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -19036,53 +19042,48 @@ q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } - /^X\(\/\/\)$/{ + /^X\/\(\/\/\)$/{ s//\1/ q } - /^X\(\/\).*/{ + /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. Try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk } ;; "libtool":C) diff -Nru freexl-1.0.5/configure.ac freexl-1.0.6/configure.ac --- freexl-1.0.5/configure.ac 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/configure.ac 2020-08-02 06:47:34.000000000 +0000 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT(FreeXL, 1.0.5, a.furieri@lqt.it) +AC_INIT(FreeXL, 1.0.6, a.furieri@lqt.it) AC_LANG(C) AC_CONFIG_AUX_DIR([.]) AC_CONFIG_MACRO_DIR([m4]) diff -Nru freexl-1.0.5/debian/changelog freexl-1.0.6/debian/changelog --- freexl-1.0.5/debian/changelog 2020-10-10 19:48:31.000000000 +0000 +++ freexl-1.0.6/debian/changelog 2022-09-24 23:26:37.000000000 +0000 @@ -1,8 +1,39 @@ -freexl (1.0.5-1~16.04.sav0) xenial; urgency=high +freexl (1.0.6-1~16.04.sav0) xenial; urgency=medium * Backport to Xenial - -- Rob Savoury Sat, 10 Oct 2020 12:48:31 -0700 + -- Rob Savoury Sat, 24 Sep 2022 16:26:37 -0700 + +freexl (1.0.6-1) unstable; urgency=medium + + * New upstream release. + * Bump Standards-Version to 4.5.0, no changes. + * Add Build-Depends-Package field to symbols file. + * Update gbp.conf to use --source-only-changes by default. + * Drop Name field from upstream metadata. + * Bump debhelper compat to 10, changes: + - Drop --parallel option, enabled by default + - Don't explicitly enable autoreconf, enabled by default + - Drop dh-autoreconf build dependency + * Fix typo in copyright file. + + -- Bas Couwenberg Sun, 02 Aug 2020 16:52:35 +0200 + +freexl (1.0.5-3) unstable; urgency=medium + + * Drop autopkgtest to test installability. + * Add lintian override for testsuite-autopkgtest-missing. + + -- Bas Couwenberg Tue, 31 Jul 2018 14:07:01 +0200 + +freexl (1.0.5-2) unstable; urgency=medium + + * Update watch file to use HTTPS. + * Update Vcs-* URLs for Salsa. + * Bump Standards-Version to 4.1.5, no changes. + * Strip trailing whitespace from control & rules files. + + -- Bas Couwenberg Thu, 19 Jul 2018 16:13:03 +0200 freexl (1.0.5-1) unstable; urgency=high diff -Nru freexl-1.0.5/debian/compat freexl-1.0.6/debian/compat --- freexl-1.0.5/debian/compat 2015-11-20 00:01:12.000000000 +0000 +++ freexl-1.0.6/debian/compat 2020-03-19 16:54:28.000000000 +0000 @@ -1 +1 @@ -9 +10 diff -Nru freexl-1.0.5/debian/control freexl-1.0.6/debian/control --- freexl-1.0.5/debian/control 2018-02-22 20:58:18.000000000 +0000 +++ freexl-1.0.6/debian/control 2020-03-19 16:55:27.000000000 +0000 @@ -4,12 +4,10 @@ Bas Couwenberg Section: libs Priority: optional -Build-Depends: debhelper (>= 9.20160114), - autotools-dev, - dh-autoreconf -Standards-Version: 4.1.3 -Vcs-Browser: https://anonscm.debian.org/cgit/pkg-grass/freexl.git -Vcs-Git: https://anonscm.debian.org/git/pkg-grass/freexl.git +Build-Depends: debhelper (>= 10~) +Standards-Version: 4.5.0 +Vcs-Browser: https://salsa.debian.org/debian-gis-team/freexl +Vcs-Git: https://salsa.debian.org/debian-gis-team/freexl.git Homepage: https://www.gaia-gis.it/fossil/freexl/ Package: libfreexl-dev @@ -41,4 +39,3 @@ not supported. . This package contains the shared library. - diff -Nru freexl-1.0.5/debian/copyright freexl-1.0.6/debian/copyright --- freexl-1.0.5/debian/copyright 2018-01-20 14:47:51.000000000 +0000 +++ freexl-1.0.6/debian/copyright 2020-08-02 14:52:35.000000000 +0000 @@ -524,7 +524,7 @@ shall survive. . 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer + claim (excluding declaratory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: . diff -Nru freexl-1.0.5/debian/gbp.conf freexl-1.0.6/debian/gbp.conf --- freexl-1.0.5/debian/gbp.conf 2017-09-17 14:00:13.000000000 +0000 +++ freexl-1.0.6/debian/gbp.conf 2019-07-07 06:01:51.000000000 +0000 @@ -14,3 +14,6 @@ # Always use pristine-tar. pristine-tar = True + +[buildpackage] +pbuilder-options = --source-only-changes diff -Nru freexl-1.0.5/debian/libfreexl1.symbols freexl-1.0.6/debian/libfreexl1.symbols --- freexl-1.0.5/debian/libfreexl1.symbols 2017-09-17 14:00:13.000000000 +0000 +++ freexl-1.0.6/debian/libfreexl1.symbols 2018-10-23 10:10:09.000000000 +0000 @@ -1,4 +1,5 @@ -libfreexl.so.1 libfreexl1 #MINVER# +libfreexl.so.1 #PACKAGE# #MINVER# +* Build-Depends-Package: libfreexl-dev freexl_close@Base 0.0.2~beta20110817 freexl_get_FAT_entry@Base 0.0.2~beta20110817 freexl_get_SST_string@Base 0.0.2~beta20110817 diff -Nru freexl-1.0.5/debian/rules freexl-1.0.6/debian/rules --- freexl-1.0.5/debian/rules 2018-02-22 20:58:18.000000000 +0000 +++ freexl-1.0.6/debian/rules 2020-03-19 16:55:39.000000000 +0000 @@ -15,11 +15,10 @@ UPSTREAM_VERSION = $(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's/\+.*//') %: - dh $@ --with autoreconf --parallel + dh $@ override_dh_makeshlibs: dh_makeshlibs -- -v$(UPSTREAM_VERSION) override_dh_strip: dh_strip --dbgsym-migration='libfreexl1-dbg (<< 1.0.5)' - diff -Nru freexl-1.0.5/debian/source/lintian-overrides freexl-1.0.6/debian/source/lintian-overrides --- freexl-1.0.5/debian/source/lintian-overrides 2018-02-22 20:58:18.000000000 +0000 +++ freexl-1.0.6/debian/source/lintian-overrides 2018-07-31 12:06:52.000000000 +0000 @@ -1,4 +1,3 @@ -# HTTPS requests result in 403 Forbidden: -# https://groups.google.com/d/topic/spatialite-users/f44JI1Lijeg/discussion -freexl source: debian-watch-uses-insecure-uri http://www.gaia-gis.it/gaia-sins/*-sources +# Not worth the effort +testsuite-autopkgtest-missing diff -Nru freexl-1.0.5/debian/tests/control freexl-1.0.6/debian/tests/control --- freexl-1.0.5/debian/tests/control 2017-09-17 14:00:13.000000000 +0000 +++ freexl-1.0.6/debian/tests/control 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -# Test installability -Depends: @ -Test-Command: /bin/true diff -Nru freexl-1.0.5/debian/upstream/metadata freexl-1.0.6/debian/upstream/metadata --- freexl-1.0.5/debian/upstream/metadata 2017-09-17 14:00:13.000000000 +0000 +++ freexl-1.0.6/debian/upstream/metadata 2019-12-09 08:06:18.000000000 +0000 @@ -2,7 +2,6 @@ Bug-Database: https://www.gaia-gis.it/fossil/freexl/rptview?rn=1 Bug-Submit: https://www.gaia-gis.it/fossil/freexl/tktnew Contact: Alessandro Furieri -Name: FreeXL Registration: https://www.gaia-gis.it/fossil/freexl/login Repository: https://www.gaia-gis.it/fossil/freexl Repository-Browse: https://www.gaia-gis.it/fossil/freexl/dir?type=tree diff -Nru freexl-1.0.5/debian/watch freexl-1.0.6/debian/watch --- freexl-1.0.5/debian/watch 2018-02-22 20:58:18.000000000 +0000 +++ freexl-1.0.6/debian/watch 2018-03-01 17:17:33.000000000 +0000 @@ -2,5 +2,5 @@ opts=\ dversionmangle=s/\+(debian|dfsg|ds|deb)\d*$//,\ uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/ \ -http://www.gaia-gis.it/gaia-sins/freexl-sources \ +https://www.gaia-gis.it/gaia-sins/freexl-sources \ (?:|.*/)freexl(?:[_\-]v?|)(\d\S*)\.(?:tar\.xz|txz|tar\.bz2|tbz2|tar\.gz|tgz) diff -Nru freexl-1.0.5/examples/Makefile.in freexl-1.0.6/examples/Makefile.in --- freexl-1.0.5/examples/Makefile.in 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/examples/Makefile.in 2020-08-02 06:48:11.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -127,7 +127,8 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/test_xl.Po ./$(DEPDIR)/xl2sql.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -321,8 +322,8 @@ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -357,8 +358,14 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xl.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xl2sql.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xl.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xl2sql.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -439,7 +446,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -510,7 +520,8 @@ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/test_xl.Po + -rm -f ./$(DEPDIR)/xl2sql.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -556,7 +567,8 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/test_xl.Po + -rm -f ./$(DEPDIR)/xl2sql.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -577,9 +589,9 @@ .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ diff -Nru freexl-1.0.5/headers/Makefile.in freexl-1.0.6/headers/Makefile.in --- freexl-1.0.5/headers/Makefile.in 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/headers/Makefile.in 2020-08-02 06:48:11.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -314,8 +314,8 @@ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -406,7 +406,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ diff -Nru freexl-1.0.5/makefile64.vc freexl-1.0.6/makefile64.vc --- freexl-1.0.5/makefile64.vc 1970-01-01 00:00:00.000000000 +0000 +++ freexl-1.0.6/makefile64.vc 2020-08-02 06:43:26.000000000 +0000 @@ -0,0 +1,48 @@ +# $Id: makefile.vc 2011/08/17 Sandro Furieri $ +# +# NMAKE Makefile to build libfreexl on Windows +# +!INCLUDE nmake64.opt + +LIBOBJ = freexl.obj +FREEXL_DLL = freexl$(VERSION).dll + +CFLAGS = /nologo -I. -Iheaders -IC:\OSGeo4W64\include $(OPTFLAGS) + +default: all + +all: freexl.lib freexl_i.lib + +$(LIBOBJ): src\freexl.c + cl $(CFLAGS) src\freexl.c /c + +freexl.lib: $(LIBOBJ) + if exist freexl.lib del freexl.lib + lib /out:freexl.lib $(LIBOBJ) + +$(FREEXL_DLL): freexl_i.lib + +freexl_i.lib: $(LIBOBJ) + link /debug /dll /out:$(FREEXL_DLL) \ + /implib:freexl_i.lib $(LIBOBJ) \ + C:\OSGeo4w64\lib\iconv.lib + if exist $(FREEXL_DLL).manifest mt -manifest \ + $(FREEXL_DLL).manifest -outputresource:$(FREEXL_DLL);2 + +clean: + del *.dll + del *.exp + del *.manifest + del *.lib + del *.obj + del *.pdb + +install: all + -mkdir $(INSTDIR) + -mkdir $(INSTDIR)\bin + -mkdir $(INSTDIR)\lib + -mkdir $(INSTDIR)\include + copy *.dll $(INSTDIR)\bin + copy *.lib $(INSTDIR)\lib + copy headers\freexl.h $(INSTDIR)\include + diff -Nru freexl-1.0.5/Makefile.am freexl-1.0.6/Makefile.am --- freexl-1.0.5/Makefile.am 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/Makefile.am 2020-08-02 06:43:26.000000000 +0000 @@ -2,7 +2,7 @@ SUBDIRS = headers src tests examples -EXTRA_DIST = makefile.vc nmake.opt \ +EXTRA_DIST = makefile.vc nmake.opt makefile64.vc nmake64.opt \ images/piazza.jpg images/piazza.eps mainpage.doxy config-msvc.h AUTOMAKE_OPTIONS = dist-zip foreign diff -Nru freexl-1.0.5/Makefile.in freexl-1.0.6/Makefile.in --- freexl-1.0.5/Makefile.in 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/Makefile.in 2020-08-02 06:48:11.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -167,7 +167,7 @@ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck + cscope distdir distdir-am dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, @@ -359,7 +359,7 @@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 SUBDIRS = headers src tests examples -EXTRA_DIST = makefile.vc nmake.opt \ +EXTRA_DIST = makefile.vc nmake.opt makefile64.vc nmake64.opt \ images/piazza.jpg images/piazza.eps mainpage.doxy config-msvc.h AUTOMAKE_OPTIONS = dist-zip foreign @@ -391,8 +391,8 @@ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -559,7 +559,10 @@ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ diff -Nru freexl-1.0.5/makefile.vc freexl-1.0.6/makefile.vc --- freexl-1.0.5/makefile.vc 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/makefile.vc 2020-08-02 06:43:26.000000000 +0000 @@ -7,7 +7,7 @@ LIBOBJ = freexl.obj FREEXL_DLL = freexl$(VERSION).dll -CFLAGS = /nologo -IC:\OSGeo4W\include -I. -Iheaders $(OPTFLAGS) +CFLAGS = /nologo -I. -Iheaders -IC:\OSGeo4W\include $(OPTFLAGS) default: all diff -Nru freexl-1.0.5/nmake64.opt freexl-1.0.6/nmake64.opt --- freexl-1.0.5/nmake64.opt 1970-01-01 00:00:00.000000000 +0000 +++ freexl-1.0.6/nmake64.opt 2020-08-02 06:43:26.000000000 +0000 @@ -0,0 +1,13 @@ +# Directory tree where FreeXL will be installed. +INSTDIR=C:\OSGeo4W64 + +# Uncomment the first for an optimized build, or the second for debug. +OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ + /DDLL_EXPORT +#OPTFLAGS= /nologo /Zi /MD /Fdfreexl.pdb /DDLL_EXPORT + +# Set the version number for the DLL. Normally we leave this blank since +# we want software that is dynamically loading the DLL to have no problem +# with version numbers. +VERSION= + diff -Nru freexl-1.0.5/src/freexl.c freexl-1.0.6/src/freexl.c --- freexl-1.0.5/src/freexl.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/src/freexl.c 2020-08-02 06:43:26.000000000 +0000 @@ -89,8 +89,8 @@ return freexlversion; } -#if defined(_WIN32) && !defined(__MINGW32__) -/* MSVC compiler doesn't support lround() at all */ +#if defined(_WIN32) && !defined(__MINGW32__) && _MSC_VER < 1800 +/* obsolete MSVC compiler doesn't support lround() at all */ static double round (double num) { @@ -287,7 +287,7 @@ #endif size_t len; size_t utf8len; - int maxlen = buflen * 4; + int maxlen = (buflen * 4) + 1; char *pUtf8buf; *err = FREEXL_OK; if (!converter) @@ -1807,7 +1807,7 @@ for (i = 0; i < len; i++) { if (p_string - workbook->record >= - workbook->record_size) + (int)workbook->record_size) { /* buffer overflow: it's a preasumable crafted file intended to crash FreeXL */ return FREEXL_CRAFTED_FILE; @@ -1828,7 +1828,7 @@ /* skipping extra data (if any) */ p_string += utf16_skip; - if (p_string - workbook->record >= workbook->record_size) + if (p_string - workbook->record >= (int)workbook->record_size) next_skip = (p_string - workbook->record) - workbook->record_size; else @@ -1939,7 +1939,7 @@ p_string += len * 2; /* skipping extra data (if any) */ p_string += workbook->shared_strings.current_utf16_skip; - if (p_string - workbook->record >= workbook->record_size) + if (p_string - workbook->record >= (int)workbook->record_size) next_skip = (p_string - workbook->record) - workbook->record_size; else next_skip = 0; @@ -4489,7 +4489,12 @@ *info = FREEXL_UNKNOWN; if (workbook->biff_obfuscated == 0) *info = FREEXL_BIFF_PLAIN; - else if (workbook->biff_obfuscated == 0) + /* 2019-01-30 + * issue reported by David Binderman + * + if (workbook->biff_obfuscated == 0) + */ + else if (workbook->biff_obfuscated == 1) *info = FREEXL_BIFF_OBFUSCATED; else *info = workbook->biff_xf_next_index; diff -Nru freexl-1.0.5/src/Makefile.in freexl-1.0.6/src/Makefile.in --- freexl-1.0.5/src/Makefile.in 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/src/Makefile.in 2020-08-02 06:48:11.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -154,7 +154,8 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/freexl.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -350,8 +351,8 @@ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -407,7 +408,13 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freexl.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/freexl.Plo@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -488,7 +495,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -562,7 +572,7 @@ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/freexl.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -608,7 +618,7 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/freexl.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -629,9 +639,9 @@ .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ diff -Nru freexl-1.0.5/tests/check_boolean_biff8.c freexl-1.0.6/tests/check_boolean_biff8.c --- freexl-1.0.5/tests/check_boolean_biff8.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_boolean_biff8.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,84 +49,100 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; unsigned int info; - const char *worksheet_name; - unsigned short active_idx; unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/testbool.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -2; + } if (info != FREEXL_BIFF_VER_8) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -3; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -3; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -4; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -4; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -5; - } - if ((num_rows != 3) || (num_columns != 4)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -5; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -5; + } + if ((num_rows != 3) || (num_columns != 4)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -5; + } ret = freexl_get_cell_value (handle, 1, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,1): %d\n", ret); - return -6; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); - return -7; - } - if (cell_value.value.int_value != 0) { - fprintf(stderr, "Unexpected cell (1,1) value: %d\n", cell_value.value.int_value); - return -8; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,1): %d\n", ret); + return -6; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); + return -7; + } + if (cell_value.value.int_value != 0) + { + fprintf (stderr, "Unexpected cell (1,1) value: %d\n", + cell_value.value.int_value); + return -8; + } ret = freexl_get_cell_value (handle, 2, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (2,1): %d\n", ret); - return -9; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (2,1) type: %u\n", cell_value.type); - return -10; - } - if (cell_value.value.int_value != 1) { - fprintf(stderr, "Unexpected cell (2,1) value: %d\n", cell_value.value.int_value); - return -11; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (2,1): %d\n", ret); + return -9; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (2,1) type: %u\n", cell_value.type); + return -10; + } + if (cell_value.value.int_value != 1) + { + fprintf (stderr, "Unexpected cell (2,1) value: %d\n", + cell_value.value.int_value); + return -11; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -12; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -12; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_datetime_biff8.c freexl-1.0.6/tests/check_datetime_biff8.c --- freexl-1.0.5/tests/check_datetime_biff8.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_datetime_biff8.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,265 +49,335 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; unsigned int info; - const char *worksheet_name; - unsigned short active_idx; unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/datetime2003.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -2; + } if (info != FREEXL_BIFF_VER_8) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -3; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -4; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -3; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -4; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -5; - } + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -5; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -6; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -6; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -7; - } - if ((num_rows != 15) || (num_columns != 2)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -8; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -7; + } + if ((num_rows != 15) || (num_columns != 2)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -8; + } ret = freexl_get_cell_value (handle, 1, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,0): %d\n", ret); - return -9; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); - return -10; - } - if (strcmp(cell_value.value.text_value, "09:58:45") != 0) { - fprintf(stderr, "Unexpected cell (1,0) value: %s\n", cell_value.value.text_value); - return -11; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,0): %d\n", ret); + return -9; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); + return -10; + } + if (strcmp (cell_value.value.text_value, "09:58:45") != 0) + { + fprintf (stderr, "Unexpected cell (1,0) value: %s\n", + cell_value.value.text_value); + return -11; + } ret = freexl_get_cell_value (handle, 2, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (2,0): %d\n", ret); - return -12; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (2,0) type: %u\n", cell_value.type); - return -13; - } - if (strcmp(cell_value.value.text_value, "22:45:00") != 0) { - fprintf(stderr, "Unexpected cell (2,0) value: %s\n", cell_value.value.text_value); - return -14; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (2,0): %d\n", ret); + return -12; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (2,0) type: %u\n", cell_value.type); + return -13; + } + if (strcmp (cell_value.value.text_value, "22:45:00") != 0) + { + fprintf (stderr, "Unexpected cell (2,0) value: %s\n", + cell_value.value.text_value); + return -14; + } + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -15; - } - if (cell_value.type != FREEXL_CELL_DATETIME) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -16; - } - if (strcmp(cell_value.value.text_value, "2007-11-06 16:28:00") != 0) { - fprintf(stderr, "Unexpected cell (3,0) value: %s\n", cell_value.value.text_value); - return -17; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -15; + } + if (cell_value.type != FREEXL_CELL_DATETIME) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -16; + } + if (strcmp (cell_value.value.text_value, "2007-11-06 16:28:00") != 0) + { + fprintf (stderr, "Unexpected cell (3,0) value: %s\n", + cell_value.value.text_value); + return -17; + } ret = freexl_get_cell_value (handle, 4, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (4,0): %d\n", ret); - return -18; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (4,0) type: %u\n", cell_value.type); - return -19; - } - if (strcmp(cell_value.value.text_value, "2007-03-23") != 0) { - fprintf(stderr, "Unexpected cell (4,0) value: %s\n", cell_value.value.text_value); - return -20; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (4,0): %d\n", ret); + return -18; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (4,0) type: %u\n", cell_value.type); + return -19; + } + if (strcmp (cell_value.value.text_value, "2007-03-23") != 0) + { + fprintf (stderr, "Unexpected cell (4,0) value: %s\n", + cell_value.value.text_value); + return -20; + } ret = freexl_get_cell_value (handle, 5, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (5,0): %d\n", ret); - return -21; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (5,0) type: %u\n", cell_value.type); - return -22; - } - if (strcmp(cell_value.value.text_value, "2005-06-04") != 0) { - fprintf(stderr, "Unexpected cell (5,0) value: %s\n", cell_value.value.text_value); - return -23; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (5,0): %d\n", ret); + return -21; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (5,0) type: %u\n", cell_value.type); + return -22; + } + if (strcmp (cell_value.value.text_value, "2005-06-04") != 0) + { + fprintf (stderr, "Unexpected cell (5,0) value: %s\n", + cell_value.value.text_value); + return -23; + } ret = freexl_get_cell_value (handle, 6, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (6,0): %d\n", ret); - return -24; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (6,0) type: %u\n", cell_value.type); - return -25; - } - if (strcmp(cell_value.value.text_value, "2011-07-05") != 0) { - fprintf(stderr, "Unexpected cell (6,0) value: %s\n", cell_value.value.text_value); - return -26; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (6,0): %d\n", ret); + return -24; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (6,0) type: %u\n", cell_value.type); + return -25; + } + if (strcmp (cell_value.value.text_value, "2011-07-05") != 0) + { + fprintf (stderr, "Unexpected cell (6,0) value: %s\n", + cell_value.value.text_value); + return -26; + } ret = freexl_get_cell_value (handle, 7, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (7,0): %d\n", ret); - return -27; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (7,0) type: %u\n", cell_value.type); - return -28; - } - if (strcmp(cell_value.value.text_value, "2012-10-01") != 0) { - fprintf(stderr, "Unexpected cell (7,0) value: %s\n", cell_value.value.text_value); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (7,0): %d\n", ret); + return -27; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (7,0) type: %u\n", cell_value.type); + return -28; + } + if (strcmp (cell_value.value.text_value, "2012-10-01") != 0) + { + fprintf (stderr, "Unexpected cell (7,0) value: %s\n", + cell_value.value.text_value); + return -29; + } + ret = freexl_get_cell_value (handle, 8, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (8,0): %d\n", ret); - return -30; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (8,0) type: %u\n", cell_value.type); - return -31; - } - if (strcmp(cell_value.value.text_value, "12:26:00") != 0) { - fprintf(stderr, "Unexpected cell (8,0) value: %s\n", cell_value.value.text_value); - return -32; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (8,0): %d\n", ret); + return -30; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (8,0) type: %u\n", cell_value.type); + return -31; + } + if (strcmp (cell_value.value.text_value, "12:26:00") != 0) + { + fprintf (stderr, "Unexpected cell (8,0) value: %s\n", + cell_value.value.text_value); + return -32; + } ret = freexl_get_cell_value (handle, 9, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (9,0): %d\n", ret); - return -33; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (9,0) type: %u\n", cell_value.type); - return -34; - } - if (strcmp(cell_value.value.text_value, "00:25:46") != 0) { - fprintf(stderr, "Unexpected cell (9,0) value: %s\n", cell_value.value.text_value); - return -35; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (9,0): %d\n", ret); + return -33; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (9,0) type: %u\n", cell_value.type); + return -34; + } + if (strcmp (cell_value.value.text_value, "00:25:46") != 0) + { + fprintf (stderr, "Unexpected cell (9,0) value: %s\n", + cell_value.value.text_value); + return -35; + } ret = freexl_get_cell_value (handle, 10, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (9,0): %d\n", ret); - return -36; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (10,0) type: %u\n", cell_value.type); - return -37; - } - if (strcmp(cell_value.value.text_value, "13:12:00") != 0) { - fprintf(stderr, "Unexpected cell (10,0) value: %s\n", cell_value.value.text_value); - return -38; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (9,0): %d\n", ret); + return -36; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (10,0) type: %u\n", + cell_value.type); + return -37; + } + if (strcmp (cell_value.value.text_value, "13:12:00") != 0) + { + fprintf (stderr, "Unexpected cell (10,0) value: %s\n", + cell_value.value.text_value); + return -38; + } + ret = freexl_get_cell_value (handle, 11, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (11,0): %d\n", ret); - return -39; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (11,0) type: %u\n", cell_value.type); - return -40; - } - if (strcmp(cell_value.value.text_value, "14:56:30") != 0) { - fprintf(stderr, "Unexpected cell (11,0) value: %s\n", cell_value.value.text_value); - return -41; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (11,0): %d\n", ret); + return -39; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (11,0) type: %u\n", + cell_value.type); + return -40; + } + if (strcmp (cell_value.value.text_value, "14:56:30") != 0) + { + fprintf (stderr, "Unexpected cell (11,0) value: %s\n", + cell_value.value.text_value); + return -41; + } + ret = freexl_get_cell_value (handle, 12, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (12,0): %d\n", ret); - return -42; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (12,0) type: %u\n", cell_value.type); - return -43; - } - if (strcmp(cell_value.value.text_value, "00:45:04") != 0) { - fprintf(stderr, "Unexpected cell (12,0) value: %s\n", cell_value.value.text_value); - return -44; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (12,0): %d\n", ret); + return -42; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (12,0) type: %u\n", + cell_value.type); + return -43; + } + if (strcmp (cell_value.value.text_value, "00:45:04") != 0) + { + fprintf (stderr, "Unexpected cell (12,0) value: %s\n", + cell_value.value.text_value); + return -44; + } ret = freexl_get_cell_value (handle, 13, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (13,0): %d\n", ret); - return -45; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (13,0) type: %u\n", cell_value.type); - return -46; - } - if (strcmp(cell_value.value.text_value, "04:45:02") != 0) { - fprintf(stderr, "Unexpected cell (13,0) value: %s\n", cell_value.value.text_value); - return -47; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (13,0): %d\n", ret); + return -45; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (13,0) type: %u\n", + cell_value.type); + return -46; + } + if (strcmp (cell_value.value.text_value, "04:45:02") != 0) + { + fprintf (stderr, "Unexpected cell (13,0) value: %s\n", + cell_value.value.text_value); + return -47; + } ret = freexl_get_cell_value (handle, 14, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (14,0): %d\n", ret); - return -48; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (14,0) type: %u\n", cell_value.type); - return -49; - } - if (strcmp(cell_value.value.text_value, "04:45:30") != 0) { - fprintf(stderr, "Unexpected cell (14,0) value: %s\n", cell_value.value.text_value); - return -50; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (14,0): %d\n", ret); + return -48; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (14,0) type: %u\n", + cell_value.type); + return -49; + } + if (strcmp (cell_value.value.text_value, "04:45:30") != 0) + { + fprintf (stderr, "Unexpected cell (14,0) value: %s\n", + cell_value.value.text_value); + return -50; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -51; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -51; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff2.c freexl-1.0.6/tests/check_excel2003_biff2.c --- freexl-1.0.5/tests/check_excel2003_biff2.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff2.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,306 +60,372 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003_21.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 0) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_2) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 1) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 10) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 6) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 1) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 10) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 6) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We only have one worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Worksheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Worksheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 6)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 6)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.double_value != 3.14) { - fprintf(stderr, "Unexpected cell (3,0) value: %g\n", cell_value.value.double_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 3, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -56.3089) { - fprintf(stderr, "Unexpected cell (3,1) value: %g\n", cell_value.value.double_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 3, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.double_value != 0.67) { - fprintf(stderr, "Unexpected cell (3,2) value: %g\n", cell_value.value.double_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 3, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); - return -45; - } - if (strcmp(cell_value.value.text_value, "1967-10-01") != 0) { - fprintf(stderr, "Unexpected cell (3,3) value: %s\n", cell_value.value.text_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 3, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); - return -48; - } - if (cell_value.value.int_value != 4) { - fprintf(stderr, "Unexpected cell (3,4) value: %d\n", cell_value.value.int_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 3, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); - return -51; - } - if (cell_value.value.int_value != 237) { - fprintf(stderr, "Unexpected cell (3,5) value: %d\n", cell_value.value.int_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -54; - } - if (strcmp(cell_value.value.text_value, "23:34:04") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -55; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.double_value != 3.14) + { + fprintf (stderr, "Unexpected cell (3,0) value: %g\n", + cell_value.value.double_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 3, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -56.3089) + { + fprintf (stderr, "Unexpected cell (3,1) value: %g\n", + cell_value.value.double_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 3, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.double_value != 0.67) + { + fprintf (stderr, "Unexpected cell (3,2) value: %g\n", + cell_value.value.double_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 3, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); + return -45; + } + if (strcmp (cell_value.value.text_value, "1967-10-01") != 0) + { + fprintf (stderr, "Unexpected cell (3,3) value: %s\n", + cell_value.value.text_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 3, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); + return -48; + } + if (cell_value.value.int_value != 4) + { + fprintf (stderr, "Unexpected cell (3,4) value: %d\n", + cell_value.value.int_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 3, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); + return -51; + } + if (cell_value.value.int_value != 237) + { + fprintf (stderr, "Unexpected cell (3,5) value: %d\n", + cell_value.value.int_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -54; + } + if (strcmp (cell_value.value.text_value, "23:34:04") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -55; + } + /* error cases */ - ret = freexl_get_cell_value(handle, 7, 3, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (7,3): %d\n", ret); - return -56; - } - ret = freexl_get_cell_value(handle, 2, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,99): %d\n", ret); - return -57; - } - ret = freexl_get_cell_value(handle, 4, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (4,2): %d\n", ret); - return -58; - } - ret = freexl_get_cell_value(handle, 3, 6, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (3,6): %d\n", ret); - return -59; - } - + ret = freexl_get_cell_value (handle, 7, 3, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (7,3): %d\n", ret); + return -56; + } + ret = freexl_get_cell_value (handle, 2, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,99): %d\n", ret); + return -57; + } + ret = freexl_get_cell_value (handle, 4, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (4,2): %d\n", ret); + return -58; + } + ret = freexl_get_cell_value (handle, 3, 6, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (3,6): %d\n", ret); + return -59; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff3.c freexl-1.0.6/tests/check_excel2003_biff3.c --- freexl-1.0.5/tests/check_excel2003_biff3.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff3.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,278 +60,336 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003_3.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 0) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != 3) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 1) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 10) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 24) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 1) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 10) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 24) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We only have one worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Worksheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Worksheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 5)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 5)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.double_value != 3.14) { - fprintf(stderr, "Unexpected cell (3,0) value: %g\n", cell_value.value.double_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 3, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -56.3089) { - fprintf(stderr, "Unexpected cell (3,1) value: %g\n", cell_value.value.double_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 3, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.double_value != 0.67) { - fprintf(stderr, "Unexpected cell (3,2) value: %g\n", cell_value.value.double_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 3, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); - return -45; - } - if (strcmp(cell_value.value.text_value, "1967-10-01") != 0) { - fprintf(stderr, "Unexpected cell (3,3) value: %s\n", cell_value.value.text_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 3, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); - return -48; - } - if (cell_value.value.double_value != 4) { - fprintf(stderr, "Unexpected cell (3,4) value: %f\n", cell_value.value.double_value); - return -49; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.double_value != 3.14) + { + fprintf (stderr, "Unexpected cell (3,0) value: %g\n", + cell_value.value.double_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 3, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -56.3089) + { + fprintf (stderr, "Unexpected cell (3,1) value: %g\n", + cell_value.value.double_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 3, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.double_value != 0.67) + { + fprintf (stderr, "Unexpected cell (3,2) value: %g\n", + cell_value.value.double_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 3, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); + return -45; + } + if (strcmp (cell_value.value.text_value, "1967-10-01") != 0) + { + fprintf (stderr, "Unexpected cell (3,3) value: %s\n", + cell_value.value.text_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 3, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); + return -48; + } + if (cell_value.value.double_value != 4) + { + fprintf (stderr, "Unexpected cell (3,4) value: %f\n", + cell_value.value.double_value); + return -49; + } /* error cases */ - ret = freexl_get_cell_value(handle, 7, 3, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (7,3): %d\n", ret); - return -50; - } - ret = freexl_get_cell_value(handle, 2, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,99): %d\n", ret); - return -51; - } - ret = freexl_get_cell_value(handle, 4, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (4,2): %d\n", ret); - return -52; - } - ret = freexl_get_cell_value(handle, 3, 5, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (3,5): %d\n", ret); - return -53; - } - + ret = freexl_get_cell_value (handle, 7, 3, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (7,3): %d\n", ret); + return -50; + } + ret = freexl_get_cell_value (handle, 2, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,99): %d\n", ret); + return -51; + } + ret = freexl_get_cell_value (handle, 4, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (4,2): %d\n", ret); + return -52; + } + ret = freexl_get_cell_value (handle, 3, 5, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (3,5): %d\n", ret); + return -53; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff3_error_checks.c freexl-1.0.6/tests/check_excel2003_biff3_error_checks.c --- freexl-1.0.5/tests/check_excel2003_biff3_error_checks.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff3_error_checks.c 2020-08-02 06:43:26.000000000 +0000 @@ -41,13 +41,15 @@ / the provisions above, a recipient may use your version of this file under / the terms of any one of the MPL, the GPL or the LGPL. / -*/#include +*/ +#include #include #include #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -57,99 +59,143 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open_info ("testdata/simple2003_3.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN INFO ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(NULL, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "GET_INFO unexpected ret for CFBF version handle: %d\n", ret); - return -3; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "GET_INFO unexpected ret for CFBF version info: %d\n", ret); - return -4; - } - - ret = freexl_get_worksheet_name(NULL, 0, &worksheet_name); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "Unexpected result getting worksheet name handle: %d\n", ret); - return -5; - } - - ret = freexl_get_worksheet_name(handle, 0, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting worksheet name string: %d\n", ret); - return -6; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN INFO ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (NULL, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "GET_INFO unexpected ret for CFBF version handle: %d\n", + ret); + return -3; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, NULL); + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "GET_INFO unexpected ret for CFBF version info: %d\n", ret); + return -4; + } + + ret = freexl_get_worksheet_name (NULL, 0, &worksheet_name); + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "Unexpected result getting worksheet name handle: %d\n", + ret); + return -5; + } + + ret = freexl_get_worksheet_name (handle, 0, NULL); + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting worksheet name string: %d\n", + ret); + return -6; + } ret = freexl_select_active_worksheet (NULL, 0); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "Unexpected result setting active worksheet handle: %d\n", ret); - return -7; - } - + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "Unexpected result setting active worksheet handle: %d\n", + ret); + return -7; + } + ret = freexl_select_active_worksheet (handle, 34); - if (ret != FREEXL_BIFF_ILLEGAL_SHEET_INDEX) { - fprintf(stderr, "Unexpected result setting active worksheet index: %d\n", ret); - return -8; - } + if (ret != FREEXL_BIFF_ILLEGAL_SHEET_INDEX) + { + fprintf (stderr, + "Unexpected result setting active worksheet index: %d\n", + ret); + return -8; + } ret = freexl_get_active_worksheet (NULL, &active_idx); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "Unexpected result getting active worksheet handle: %d\n", ret); - return -9; - } + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "Unexpected result getting active worksheet handle: %d\n", + ret); + return -9; + } ret = freexl_get_active_worksheet (handle, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting active worksheet arg: %d\n", ret); - return -10; - } - + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting active worksheet arg: %d\n", ret); + return -10; + } + ret = freexl_worksheet_dimensions (NULL, &num_rows, &num_columns); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "Unexpected result getting worksheet dimensions handle: %d\n", ret); - return -12; - } + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "Unexpected result getting worksheet dimensions handle: %d\n", + ret); + return -12; + } ret = freexl_worksheet_dimensions (handle, NULL, &num_columns); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting worksheet dimensions row: %d\n", ret); - return -13; - } + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting worksheet dimensions row: %d\n", + ret); + return -13; + } ret = freexl_worksheet_dimensions (handle, &num_rows, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting worksheet dimensions col: %d\n", ret); - return -14; - } + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting worksheet dimensions col: %d\n", + ret); + return -14; + } ret = freexl_worksheet_dimensions (handle, NULL, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting worksheet dimensions both: %d\n", ret); - return -15; - } + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting worksheet dimensions both: %d\n", + ret); + return -15; + } ret = freexl_get_cell_value (NULL, 0, 0, &cell_value); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "Unexpected result getting cell value (0,0) handle: %d\n", ret); - return -16; - } + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, + "Unexpected result getting cell value (0,0) handle: %d\n", + ret); + return -16; + } ret = freexl_get_cell_value (handle, 0, 0, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "Unexpected result getting cell value (0,0) val: %d\n", ret); - return -17; - } - + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, + "Unexpected result getting cell value (0,0) val: %d\n", ret); + return -17; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff3_info.c freexl-1.0.6/tests/check_excel2003_biff3_info.c --- freexl-1.0.5/tests/check_excel2003_biff3_info.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff3_info.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,178 +60,210 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open_info ("testdata/simple2003_3.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN INFO ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN INFO ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 0) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != 3) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 1) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 10) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 24) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 1) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 10) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 24) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We only have one worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Worksheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Worksheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 5)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 5)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_INVALID_HANDLE) { - fprintf(stderr, "Unexpected result getting cell value (0,0): %d\n", ret); - return -32; - } + if (ret != FREEXL_INVALID_HANDLE) + { + fprintf (stderr, "Unexpected result getting cell value (0,0): %d\n", + ret); + return -32; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff4_1904.c freexl-1.0.6/tests/check_excel2003_biff4_1904.c --- freexl-1.0.5/tests/check_excel2003_biff4_1904.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff4_1904.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,320 +60,390 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003_4_1904.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 0) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_4) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1904) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 1) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 10) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 26) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 1) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 10) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 26) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We only have one worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Worksheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Worksheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 6)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 6)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.double_value != 3.14) { - fprintf(stderr, "Unexpected cell (3,0) value: %g\n", cell_value.value.double_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 3, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -56.3089) { - fprintf(stderr, "Unexpected cell (3,1) value: %g\n", cell_value.value.double_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 3, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.double_value != 0.67) { - fprintf(stderr, "Unexpected cell (3,2) value: %g\n", cell_value.value.double_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 3, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); - return -45; - } - if (strcmp(cell_value.value.text_value, "1971-10-02") != 0) { - fprintf(stderr, "Unexpected cell (3,3) value: %s\n", cell_value.value.text_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 2, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (2,5): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (2,5) type: %u\n", cell_value.type); - return -48; - } - if (strcmp(cell_value.value.text_value, "2008-12-01") != 0) { - fprintf(stderr, "Unexpected cell (2,5) value: %s\n", cell_value.value.text_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 3, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,4): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); - return -51; - } - if (cell_value.value.double_value != 4) { - fprintf(stderr, "Unexpected cell (3,4) value: %g\n", cell_value.value.double_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 3, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,5): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); - return -54; - } - if (cell_value.value.double_value != 237) { - fprintf(stderr, "Unexpected cell (3,5) value: %g\n", cell_value.value.double_value); - return -55; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -56; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -57; - } - if (strcmp(cell_value.value.text_value, "23:34:04") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -58; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.double_value != 3.14) + { + fprintf (stderr, "Unexpected cell (3,0) value: %g\n", + cell_value.value.double_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 3, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -56.3089) + { + fprintf (stderr, "Unexpected cell (3,1) value: %g\n", + cell_value.value.double_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 3, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.double_value != 0.67) + { + fprintf (stderr, "Unexpected cell (3,2) value: %g\n", + cell_value.value.double_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 3, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); + return -45; + } + if (strcmp (cell_value.value.text_value, "1971-10-02") != 0) + { + fprintf (stderr, "Unexpected cell (3,3) value: %s\n", + cell_value.value.text_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 2, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (2,5): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (2,5) type: %u\n", cell_value.type); + return -48; + } + if (strcmp (cell_value.value.text_value, "2008-12-01") != 0) + { + fprintf (stderr, "Unexpected cell (2,5) value: %s\n", + cell_value.value.text_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 3, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,4): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); + return -51; + } + if (cell_value.value.double_value != 4) + { + fprintf (stderr, "Unexpected cell (3,4) value: %g\n", + cell_value.value.double_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 3, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,5): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); + return -54; + } + if (cell_value.value.double_value != 237) + { + fprintf (stderr, "Unexpected cell (3,5) value: %g\n", + cell_value.value.double_value); + return -55; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -56; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -57; + } + if (strcmp (cell_value.value.text_value, "23:34:04") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -58; + } + /* error cases */ - ret = freexl_get_cell_value(handle, 7, 3, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (7,3): %d\n", ret); - return -59; - } - ret = freexl_get_cell_value(handle, 2, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,99): %d\n", ret); - return -60; - } - ret = freexl_get_cell_value(handle, 4, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (4,2): %d\n", ret); - return -61; - } - ret = freexl_get_cell_value(handle, 3, 6, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (3,6): %d\n", ret); - return -62; - } - + ret = freexl_get_cell_value (handle, 7, 3, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (7,3): %d\n", ret); + return -59; + } + ret = freexl_get_cell_value (handle, 2, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,99): %d\n", ret); + return -60; + } + ret = freexl_get_cell_value (handle, 4, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (4,2): %d\n", ret); + return -61; + } + ret = freexl_get_cell_value (handle, 3, 6, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (3,6): %d\n", ret); + return -62; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff4.c freexl-1.0.6/tests/check_excel2003_biff4.c --- freexl-1.0.5/tests/check_excel2003_biff4.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff4.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,306 +60,372 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003_4.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 0) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_4) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_UNKNOWN) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 1) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 10) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 26) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 1) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 10) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 26) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We only have one worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Worksheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Worksheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 6)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 6)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.double_value != 3.14) { - fprintf(stderr, "Unexpected cell (3,0) value: %g\n", cell_value.value.double_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 3, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -56.3089) { - fprintf(stderr, "Unexpected cell (3,1) value: %g\n", cell_value.value.double_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 3, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.double_value != 0.67) { - fprintf(stderr, "Unexpected cell (3,2) value: %g\n", cell_value.value.double_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 3, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); - return -45; - } - if (strcmp(cell_value.value.text_value, "1967-10-01") != 0) { - fprintf(stderr, "Unexpected cell (3,3) value: %s\n", cell_value.value.text_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 3, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); - return -48; - } - if (cell_value.value.double_value != 4) { - fprintf(stderr, "Unexpected cell (3,4) value: %g\n", cell_value.value.double_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 3, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); - return -51; - } - if (cell_value.value.double_value != 237) { - fprintf(stderr, "Unexpected cell (3,5) value: %g\n", cell_value.value.double_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -54; - } - if (strcmp(cell_value.value.text_value, "23:34:04") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -55; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.double_value != 3.14) + { + fprintf (stderr, "Unexpected cell (3,0) value: %g\n", + cell_value.value.double_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 3, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -56.3089) + { + fprintf (stderr, "Unexpected cell (3,1) value: %g\n", + cell_value.value.double_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 3, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.double_value != 0.67) + { + fprintf (stderr, "Unexpected cell (3,2) value: %g\n", + cell_value.value.double_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 3, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); + return -45; + } + if (strcmp (cell_value.value.text_value, "1967-10-01") != 0) + { + fprintf (stderr, "Unexpected cell (3,3) value: %s\n", + cell_value.value.text_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 3, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); + return -48; + } + if (cell_value.value.double_value != 4) + { + fprintf (stderr, "Unexpected cell (3,4) value: %g\n", + cell_value.value.double_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 3, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); + return -51; + } + if (cell_value.value.double_value != 237) + { + fprintf (stderr, "Unexpected cell (3,5) value: %g\n", + cell_value.value.double_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -54; + } + if (strcmp (cell_value.value.text_value, "23:34:04") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -55; + } + /* error cases */ - ret = freexl_get_cell_value(handle, 7, 3, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (7,3): %d\n", ret); - return -56; - } - ret = freexl_get_cell_value(handle, 2, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,99): %d\n", ret); - return -57; - } - ret = freexl_get_cell_value(handle, 4, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (4,2): %d\n", ret); - return -58; - } - ret = freexl_get_cell_value(handle, 3, 6, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (3,6): %d\n", ret); - return -59; - } - + ret = freexl_get_cell_value (handle, 7, 3, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (7,3): %d\n", ret); + return -56; + } + ret = freexl_get_cell_value (handle, 2, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,99): %d\n", ret); + return -57; + } + ret = freexl_get_cell_value (handle, 4, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (4,2): %d\n", ret); + return -58; + } + ret = freexl_get_cell_value (handle, 3, 6, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (3,6): %d\n", ret); + return -59; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff4_workbook.c freexl-1.0.6/tests/check_excel2003_biff4_workbook.c --- freexl-1.0.5/tests/check_excel2003_biff4_workbook.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff4_workbook.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,22 +49,21 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; - unsigned int info; - const char *worksheet_name; - unsigned short active_idx; - unsigned int num_rows; - unsigned short num_columns; - FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003_4WB.xlw", &handle); - if (ret != FREEXL_CFBF_INVALID_SIGNATURE) { - fprintf(stderr, "unexpected result for open(): %d\n", ret); - return -1; - } + if (ret != FREEXL_CFBF_INVALID_SIGNATURE) + { + fprintf (stderr, "unexpected result for open(): %d\n", ret); + return -1; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff5_workbook.c freexl-1.0.6/tests/check_excel2003_biff5_workbook.c --- freexl-1.0.5/tests/check_excel2003_biff5_workbook.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff5_workbook.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,22 +49,28 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; ret = freexl_open ("testdata/simple2003_5WB.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_excel2003_biff8.c freexl-1.0.6/tests/check_excel2003_biff8.c --- freexl-1.0.5/tests/check_excel2003_biff8.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_excel2003_biff8.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -59,372 +60,453 @@ unsigned int num_rows; unsigned short num_columns; FreeXL_CellValue cell_value; - + ret = freexl_open ("testdata/simple2003.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } - if (info != FREEXL_CFBF_VER_3 ) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } + if (info != FREEXL_CFBF_VER_3) + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_CFBF_SECTOR_512) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 128) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_8) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_BIFF_MAX_RECSZ_8224) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_UTF16LE) { - fprintf(stderr, "Unexpected BIFF codepage: %d\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 2) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 0) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 26) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_UTF16LE) + { + fprintf (stderr, "Unexpected BIFF codepage: %d\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 2) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 0) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 26) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + /* We start with the first worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "simple2003_4") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "simple2003_4") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 4) || (num_columns != 6)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 4) || (num_columns != 6)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 3, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.double_value != 3.14) { - fprintf(stderr, "Unexpected cell (3,0) value: %g\n", cell_value.value.double_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 3, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -56.3089) { - fprintf(stderr, "Unexpected cell (3,1) value: %g\n", cell_value.value.double_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 3, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.double_value != 0.67) { - fprintf(stderr, "Unexpected cell (3,2) value: %g\n", cell_value.value.double_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 3, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); - return -45; - } - if (strcmp(cell_value.value.text_value, "1967-10-01") != 0) - { - fprintf(stderr, "Unexpected cell (3,3) value: %s\n", cell_value.value.text_value); - return -46; - } - ret = freexl_get_cell_value(handle, 3, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); - return -48; - } - if (cell_value.value.double_value != 4) { - fprintf(stderr, "Unexpected cell (3,4) value: %g\n", cell_value.value.double_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 3, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (3,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); - return -51; - } - if (cell_value.value.double_value != 237) { - fprintf(stderr, "Unexpected cell (3,5) value: %g\n", cell_value.value.double_value); - return -52; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 3, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,0) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.double_value != 3.14) + { + fprintf (stderr, "Unexpected cell (3,0) value: %g\n", + cell_value.value.double_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 3, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,1) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -56.3089) + { + fprintf (stderr, "Unexpected cell (3,1) value: %g\n", + cell_value.value.double_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 3, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.double_value != 0.67) + { + fprintf (stderr, "Unexpected cell (3,2) value: %g\n", + cell_value.value.double_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 3, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (3,3) type: %u\n", cell_value.type); + return -45; + } + if (strcmp (cell_value.value.text_value, "1967-10-01") != 0) + { + fprintf (stderr, "Unexpected cell (3,3) value: %s\n", + cell_value.value.text_value); + return -46; + } + ret = freexl_get_cell_value (handle, 3, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,4) type: %u\n", cell_value.type); + return -48; + } + if (cell_value.value.double_value != 4) + { + fprintf (stderr, "Unexpected cell (3,4) value: %g\n", + cell_value.value.double_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 3, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (3,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (3,5) type: %u\n", cell_value.type); + return -51; + } + if (cell_value.value.double_value != 237) + { + fprintf (stderr, "Unexpected cell (3,5) value: %g\n", + cell_value.value.double_value); + return -52; + } + /* error cases */ - ret = freexl_get_cell_value(handle, 7, 3, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (7,3): %d\n", ret); - return -53; - } - ret = freexl_get_cell_value(handle, 2, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,99): %d\n", ret); - return -54; - } - ret = freexl_get_cell_value(handle, 4, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (4,2): %d\n", ret); - return -55; - } - ret = freexl_get_cell_value(handle, 3, 6, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (3,6): %d\n", ret); - return -56; - } + ret = freexl_get_cell_value (handle, 7, 3, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (7,3): %d\n", ret); + return -53; + } + ret = freexl_get_cell_value (handle, 2, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,99): %d\n", ret); + return -54; + } + ret = freexl_get_cell_value (handle, 4, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (4,2): %d\n", ret); + return -55; + } + ret = freexl_get_cell_value (handle, 3, 6, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (3,6): %d\n", ret); + return -56; + } /* The second worksheet, zero index */ - ret = freexl_get_worksheet_name(handle, 1, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -57; - } - if (strcmp(worksheet_name, "sheet2") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -58; - } + ret = freexl_get_worksheet_name (handle, 1, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -57; + } + if (strcmp (worksheet_name, "sheet2") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -58; + } ret = freexl_select_active_worksheet (handle, 1); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet 2: %d\n", ret); - return -59; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet 2: %d\n", ret); + return -59; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet 2: %d\n", ret); - return -60; - } - if (active_idx != 1) { - fprintf(stderr, "Unexpected active sheet 2: %d\n", info); - return -61; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet 2: %d\n", ret); + return -60; + } + if (active_idx != 1) + { + fprintf (stderr, "Unexpected active sheet 2: %d\n", info); + return -61; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions 2: %d\n", ret); - return -62; - } - if ((num_rows != 4) || (num_columns != 6)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -63; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions 2: %d\n", ret); + return -62; + } + if ((num_rows != 4) || (num_columns != 6)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -63; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0) 2: %d\n", ret); - return -64; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type 2: %u\n", cell_value.type); - return -65; - } - if (strcmp(cell_value.value.text_value, "Column 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -66; - } - - ret = freexl_get_cell_value(handle, 2, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (2,5): %d\n", ret); - return -67; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (2,5) type: %u\n", cell_value.type); - return -68; - } - if (strcmp(cell_value.value.text_value, "sheet 2") != 0) { - fprintf(stderr, "Unexpected cell (2,5) value: %s\n", cell_value.value.text_value); - return -69; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -70; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -71; - } - if (strcmp(cell_value.value.text_value, "23:34:04") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -72; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0) 2: %d\n", ret); + return -64; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type 2: %u\n", + cell_value.type); + return -65; + } + if (strcmp (cell_value.value.text_value, "Column 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -66; + } + + ret = freexl_get_cell_value (handle, 2, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (2,5): %d\n", ret); + return -67; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (2,5) type: %u\n", cell_value.type); + return -68; + } + if (strcmp (cell_value.value.text_value, "sheet 2") != 0) + { + fprintf (stderr, "Unexpected cell (2,5) value: %s\n", + cell_value.value.text_value); + return -69; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -70; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -71; + } + if (strcmp (cell_value.value.text_value, "23:34:04") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -72; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_oocalc95.c freexl-1.0.6/tests/check_oocalc95.c --- freexl-1.0.5/tests/check_oocalc95.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_oocalc95.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -61,335 +62,407 @@ FreeXL_CellValue cell_value; ret = freexl_open ("testdata/oocalc_simple95.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_CFBF_VER_3) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_CFBF_SECTOR_512) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 128) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_5) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_BIFF_MAX_RECSZ_2080) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_CP1252) { - fprintf(stderr, "Unexpected BIFF codepage: 0x%x\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 3) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 3) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 24) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_STRING_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for SST string count: %d\n", ret); - return -61; - } - if (info != 0) { - fprintf(stderr, "Unexpected SST string count: %d\n", info); - return -62; - } + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_CP1252) + { + fprintf (stderr, "Unexpected BIFF codepage: 0x%x\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 3) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 3) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 24) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_STRING_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for SST string count: %d\n", ret); + return -61; + } + if (info != 0) + { + fprintf (stderr, "Unexpected SST string count: %d\n", info); + return -62; + } /* We start with the first worksheet (zero index) */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Sheet1") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Sheet1") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 2) || (num_columns != 7)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 2) || (num_columns != 7)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Col 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 1, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); - return -36; - } - if (strcmp(cell_value.value.text_value, "A") != 0) { - fprintf(stderr, "Unexpected cell (1,0) value: %s\n", cell_value.value.text_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 1, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_TEXT) { - fprintf(stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); - return -39; - } - if (strcmp(cell_value.value.text_value, "B") != 0) { - fprintf(stderr, "Unexpected cell (1,1) value: %s\n", cell_value.value.text_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 1, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.int_value != 2) { - fprintf(stderr, "Unexpected cell (1,2) value: %d\n", cell_value.value.int_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 1, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); - return -45; - } - if (cell_value.value.double_value != 4.2) { - fprintf(stderr, "Unexpected cell (1,3) value: %g\n", cell_value.value.double_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 1, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); - return -48; - } - if (strcmp(cell_value.value.text_value, "11:00:00") != 0) { - fprintf(stderr, "Unexpected cell (1,4) value: %s\n", cell_value.value.text_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DATETIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -51; - } - if (strcmp(cell_value.value.text_value, "2011-08-21 10:23:45") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 1, 6, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,6): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_DATETIME) { - fprintf(stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); - return -54; - } - if (strcmp(cell_value.value.text_value, "1967-03-11 00:00:00") != 0) { - fprintf(stderr, "Unexpected cell (1,6) value: %s\n", cell_value.value.text_value); - return -55; - } - - ret = freexl_get_cell_value(handle, 0, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,2): %d\n", ret); - return -56; - } - if (cell_value.type != FREEXL_CELL_NULL) { - fprintf(stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); - return -57; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Col 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 1, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); + return -36; + } + if (strcmp (cell_value.value.text_value, "A") != 0) + { + fprintf (stderr, "Unexpected cell (1,0) value: %s\n", + cell_value.value.text_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 1, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_TEXT) + { + fprintf (stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); + return -39; + } + if (strcmp (cell_value.value.text_value, "B") != 0) + { + fprintf (stderr, "Unexpected cell (1,1) value: %s\n", + cell_value.value.text_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 1, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.int_value != 2) + { + fprintf (stderr, "Unexpected cell (1,2) value: %d\n", + cell_value.value.int_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 1, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); + return -45; + } + if (cell_value.value.double_value != 4.2) + { + fprintf (stderr, "Unexpected cell (1,3) value: %g\n", + cell_value.value.double_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 1, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); + return -48; + } + if (strcmp (cell_value.value.text_value, "11:00:00") != 0) + { + fprintf (stderr, "Unexpected cell (1,4) value: %s\n", + cell_value.value.text_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DATETIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -51; + } + if (strcmp (cell_value.value.text_value, "2011-08-21 10:23:45") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 1, 6, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,6): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_DATETIME) + { + fprintf (stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); + return -54; + } + if (strcmp (cell_value.value.text_value, "1967-03-11 00:00:00") != 0) + { + fprintf (stderr, "Unexpected cell (1,6) value: %s\n", + cell_value.value.text_value); + return -55; + } + + ret = freexl_get_cell_value (handle, 0, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,2): %d\n", ret); + return -56; + } + if (cell_value.type != FREEXL_CELL_NULL) + { + fprintf (stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); + return -57; + } /* error cases */ - ret = freexl_get_cell_value(handle, 5, 1, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (5,1): %d\n", ret); - return -56; - } - ret = freexl_get_cell_value(handle, 1, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,99): %d\n", ret); - return -57; - } - ret = freexl_get_cell_value(handle, 2, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,2): %d\n", ret); - return -58; - } - ret = freexl_get_cell_value(handle, 1, 7, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,7): %d\n", ret); - return -59; - } + ret = freexl_get_cell_value (handle, 5, 1, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (5,1): %d\n", ret); + return -56; + } + ret = freexl_get_cell_value (handle, 1, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,99): %d\n", ret); + return -57; + } + ret = freexl_get_cell_value (handle, 2, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,2): %d\n", ret); + return -58; + } + ret = freexl_get_cell_value (handle, 1, 7, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,7): %d\n", ret); + return -59; + } /* Check the second worksheet */ - ret = freexl_get_worksheet_name(handle, 1, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -60; - } - if (strcmp(worksheet_name, "Excel95 format sheet 2") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -63; - } + ret = freexl_get_worksheet_name (handle, 1, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -60; + } + if (strcmp (worksheet_name, "Excel95 format sheet 2") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -63; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_oocalc97.c freexl-1.0.6/tests/check_oocalc97.c --- freexl-1.0.5/tests/check_oocalc97.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_oocalc97.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -61,368 +62,446 @@ FreeXL_CellValue cell_value; ret = freexl_open ("testdata/oocalc_simple97.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_CFBF_VER_3) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_CFBF_SECTOR_512) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 128) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_8) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_BIFF_MAX_RECSZ_8224) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_UTF16LE) { - fprintf(stderr, "Unexpected BIFF codepage: 0x%x\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 3) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_FORMAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); - return -21; - } - if (info != 3) { - fprintf(stderr, "Unexpected BIFF format count: %d\n", info); - return -22; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_XF_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF extended format count: %d\n", ret); - return -23; - } - if (info != 24) { - fprintf(stderr, "Unexpected BIFF extended format count: %d\n", info); - return -24; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_STRING_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for SST string count: %d\n", ret); - return -61; - } - if (info != 7) { - fprintf(stderr, "Unexpected SST string count: %d\n", info); - return -62; - } + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_UTF16LE) + { + fprintf (stderr, "Unexpected BIFF codepage: 0x%x\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 3) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_FORMAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF format count: %d\n", ret); + return -21; + } + if (info != 3) + { + fprintf (stderr, "Unexpected BIFF format count: %d\n", info); + return -22; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_XF_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, + "GET_INFO ERROR for BIFF extended format count: %d\n", ret); + return -23; + } + if (info != 24) + { + fprintf (stderr, "Unexpected BIFF extended format count: %d\n", info); + return -24; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_STRING_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for SST string count: %d\n", ret); + return -61; + } + if (info != 7) + { + fprintf (stderr, "Unexpected SST string count: %d\n", info); + return -62; + } /* We start with the first worksheet (zero index) */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Sheet1") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Sheet1") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 2) || (num_columns != 7)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 2) || (num_columns != 7)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (strcmp(cell_value.value.text_value, "Col 1") != 0) { - fprintf(stderr, "Unexpected cell (0,0) value: %s\n", cell_value.value.text_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 1, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,0): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); - return -36; - } - if (strcmp(cell_value.value.text_value, "A") != 0) { - fprintf(stderr, "Unexpected cell (1,0) value: %s\n", cell_value.value.text_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 1, 1, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,1): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_SST_TEXT) { - fprintf(stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); - return -39; - } - if (strcmp(cell_value.value.text_value, "B") != 0) { - fprintf(stderr, "Unexpected cell (1,1) value: %s\n", cell_value.value.text_value); - return -40; - } - - ret = freexl_get_cell_value(handle, 1, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.int_value != 2) { - fprintf(stderr, "Unexpected cell (1,2) value: %d\n", cell_value.value.int_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 1, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); - return -45; - } - if (cell_value.value.double_value != 4.2) { - fprintf(stderr, "Unexpected cell (1,3) value: %g\n", cell_value.value.double_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 1, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); - return -48; - } - if (strcmp(cell_value.value.text_value, "11:00:00") != 0) { - fprintf(stderr, "Unexpected cell (1,4) value: %s\n", cell_value.value.text_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DATETIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -51; - } - if (strcmp(cell_value.value.text_value, "2011-08-21 10:23:45") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 1, 6, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,6): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); - return -54; - } - if (strcmp(cell_value.value.text_value, "1967-03-11") != 0) { - fprintf(stderr, "Unexpected cell (1,6) value: %s\n", cell_value.value.text_value); - return -55; - } - - ret = freexl_get_cell_value(handle, 0, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,2): %d\n", ret); - return -56; - } - if (cell_value.type != FREEXL_CELL_NULL) { - fprintf(stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); - return -57; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (strcmp (cell_value.value.text_value, "Col 1") != 0) + { + fprintf (stderr, "Unexpected cell (0,0) value: %s\n", + cell_value.value.text_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 1, 0, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,0): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (1,0) type: %u\n", cell_value.type); + return -36; + } + if (strcmp (cell_value.value.text_value, "A") != 0) + { + fprintf (stderr, "Unexpected cell (1,0) value: %s\n", + cell_value.value.text_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 1, 1, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,1): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_SST_TEXT) + { + fprintf (stderr, "Unexpected cell (1,1) type: %u\n", cell_value.type); + return -39; + } + if (strcmp (cell_value.value.text_value, "B") != 0) + { + fprintf (stderr, "Unexpected cell (1,1) value: %s\n", + cell_value.value.text_value); + return -40; + } + + ret = freexl_get_cell_value (handle, 1, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.int_value != 2) + { + fprintf (stderr, "Unexpected cell (1,2) value: %d\n", + cell_value.value.int_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 1, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); + return -45; + } + if (cell_value.value.double_value != 4.2) + { + fprintf (stderr, "Unexpected cell (1,3) value: %g\n", + cell_value.value.double_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 1, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); + return -48; + } + if (strcmp (cell_value.value.text_value, "11:00:00") != 0) + { + fprintf (stderr, "Unexpected cell (1,4) value: %s\n", + cell_value.value.text_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DATETIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -51; + } + if (strcmp (cell_value.value.text_value, "2011-08-21 10:23:45") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 1, 6, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,6): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); + return -54; + } + if (strcmp (cell_value.value.text_value, "1967-03-11") != 0) + { + fprintf (stderr, "Unexpected cell (1,6) value: %s\n", + cell_value.value.text_value); + return -55; + } + + ret = freexl_get_cell_value (handle, 0, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,2): %d\n", ret); + return -56; + } + if (cell_value.type != FREEXL_CELL_NULL) + { + fprintf (stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); + return -57; + } /* error cases */ - ret = freexl_get_cell_value(handle, 5, 1, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (5,1): %d\n", ret); - return -56; - } - ret = freexl_get_cell_value(handle, 1, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,99): %d\n", ret); - return -57; - } - ret = freexl_get_cell_value(handle, 2, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,2): %d\n", ret); - return -58; - } - ret = freexl_get_cell_value(handle, 1, 7, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,7): %d\n", ret); - return -59; - } + ret = freexl_get_cell_value (handle, 5, 1, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (5,1): %d\n", ret); + return -56; + } + ret = freexl_get_cell_value (handle, 1, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,99): %d\n", ret); + return -57; + } + ret = freexl_get_cell_value (handle, 2, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,2): %d\n", ret); + return -58; + } + ret = freexl_get_cell_value (handle, 1, 7, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,7): %d\n", ret); + return -59; + } /* Check the second worksheet */ - ret = freexl_get_worksheet_name(handle, 1, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -60; - } - if (strcmp(worksheet_name, "Renamed sheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -63; - } + ret = freexl_get_worksheet_name (handle, 1, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -60; + } + if (strcmp (worksheet_name, "Renamed sheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -63; + } ret = freexl_select_active_worksheet (handle, 1); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet to 1: %d\n", ret); - return -64; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet to 1: %d\n", ret); + return -64; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet : %d\n", ret); - return -65; - } - if (active_idx != 1) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -66; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet : %d\n", ret); + return -65; + } + if (active_idx != 1) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -66; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions 2: %d\n", ret); - return -67; - } - if ((num_rows != 0) || (num_columns != 0)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -68; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions 2: %d\n", ret); + return -67; + } + if ((num_rows != 0) || (num_columns != 0)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -68; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (0,0): %d\n", ret); - return -69; - } + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (0,0): %d\n", ret); + return -69; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/check_oocalc97_intvalue.c freexl-1.0.6/tests/check_oocalc97_intvalue.c --- freexl-1.0.5/tests/check_oocalc97_intvalue.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/check_oocalc97_intvalue.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,7 +49,8 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; @@ -61,338 +62,409 @@ FreeXL_CellValue cell_value; ret = freexl_open ("testdata/testcase1.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for CFBF version: %d\n", ret); + return -3; + } if (info != FREEXL_CFBF_VER_3) - { - fprintf(stderr, "Unexpected CFBF_VERSION: %d\n", info); - return -4; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_SECTOR_SIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for sector size: %d\n", ret); - return -5; - } + { + fprintf (stderr, "Unexpected CFBF_VERSION: %d\n", info); + return -4; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_SECTOR_SIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for sector size: %d\n", ret); + return -5; + } if (info != FREEXL_CFBF_SECTOR_512) - { - fprintf(stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); - return -6; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for fat count: %d\n", ret); - return -7; - } + { + fprintf (stderr, "Unexpected CFBF_SECTOR_SIZE: %d\n", info); + return -6; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for fat count: %d\n", ret); + return -7; + } if (info != 128) - { - fprintf(stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); - return -8; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_VERSION, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); - return -9; - } + { + fprintf (stderr, "Unexpected CFBF_FAT_COUNT: %d\n", info); + return -8; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_VERSION, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF version: %d\n", ret); + return -9; + } if (info != FREEXL_BIFF_VER_8) - { - fprintf(stderr, "Unexpected BIFF version: %d\n", info); - return -10; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_MAX_RECSIZE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); - return -11; - } + { + fprintf (stderr, "Unexpected BIFF version: %d\n", info); + return -10; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_MAX_RECSIZE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF record size: %d\n", ret); + return -11; + } if (info != FREEXL_BIFF_MAX_RECSZ_8224) - { - fprintf(stderr, "Unexpected BIFF max record size: %d\n", info); - return -12; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_DATEMODE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); - return -13; - } + { + fprintf (stderr, "Unexpected BIFF max record size: %d\n", info); + return -12; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_DATEMODE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF date mode: %d\n", ret); + return -13; + } if (info != FREEXL_BIFF_DATEMODE_1900) - { - fprintf(stderr, "Unexpected BIFF date mode: %d\n", info); - return -14; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_PASSWORD, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); - return -15; - } - if (info != FREEXL_BIFF_PLAIN) { - fprintf(stderr, "Unexpected BIFF password mode: %d\n", info); - return -16; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_CODEPAGE, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); - return -17; - } - if (info != FREEXL_BIFF_UTF16LE) { - fprintf(stderr, "Unexpected BIFF codepage: 0x%x\n", info); - return -18; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_SHEET_COUNT, &info); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", ret); - return -19; - } - if (info != 3) { - fprintf(stderr, "Unexpected BIFF worksheet count: %d\n", info); - return -20; - } + { + fprintf (stderr, "Unexpected BIFF date mode: %d\n", info); + return -14; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_PASSWORD, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF password mode: %d\n", ret); + return -15; + } + if (info != FREEXL_BIFF_PLAIN) + { + fprintf (stderr, "Unexpected BIFF password mode: %d\n", info); + return -16; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_CODEPAGE, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF codepage: %d\n", ret); + return -17; + } + if (info != FREEXL_BIFF_UTF16LE) + { + fprintf (stderr, "Unexpected BIFF codepage: 0x%x\n", info); + return -18; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_SHEET_COUNT, &info); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for BIFF worksheet count: %d\n", + ret); + return -19; + } + if (info != 3) + { + fprintf (stderr, "Unexpected BIFF worksheet count: %d\n", info); + return -20; + } /* We start with the first worksheet (zero index) */ - ret = freexl_get_worksheet_name(handle, 0, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -25; - } - if (strcmp(worksheet_name, "Sheet1") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -26; - } + ret = freexl_get_worksheet_name (handle, 0, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -25; + } + if (strcmp (worksheet_name, "Sheet1") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -26; + } ret = freexl_select_active_worksheet (handle, 0); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet: %d\n", ret); - return -27; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet: %d\n", ret); + return -27; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet: %d\n", ret); - return -28; - } - if (active_idx != 0) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -29; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet: %d\n", ret); + return -28; + } + if (active_idx != 0) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -29; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions: %d\n", ret); - return -30; - } - if ((num_rows != 17) || (num_columns != 19)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -31; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions: %d\n", ret); + return -30; + } + if ((num_rows != 17) || (num_columns != 19)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -31; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,0): %d\n", ret); - return -32; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); - return -33; - } - if (cell_value.value.int_value != 2172515) { - fprintf(stderr, "Unexpected cell (0,0) value: %i\n", cell_value.value.int_value); - return -34; - } - - ret = freexl_get_cell_value(handle, 6, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (6,4): %d\n", ret); - return -35; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (6,4) type: %u\n", cell_value.type); - return -36; - } - if (cell_value.value.int_value != -26) { - fprintf(stderr, "Unexpected cell (6,4) value: %i\n", cell_value.value.int_value); - return -37; - } - - ret = freexl_get_cell_value(handle, 7, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (7,4): %d\n", ret); - return -38; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (7,4) type: %u\n", cell_value.type); - return -39; - } - if (cell_value.value.double_value != -36.05) { - fprintf(stderr, "Unexpected cell (7,4) value: %f\n", cell_value.value.double_value); - return -40; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,0): %d\n", ret); + return -32; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (0,0) type: %u\n", cell_value.type); + return -33; + } + if (cell_value.value.int_value != 2172515) + { + fprintf (stderr, "Unexpected cell (0,0) value: %i\n", + cell_value.value.int_value); + return -34; + } + + ret = freexl_get_cell_value (handle, 6, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (6,4): %d\n", ret); + return -35; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (6,4) type: %u\n", cell_value.type); + return -36; + } + if (cell_value.value.int_value != -26) + { + fprintf (stderr, "Unexpected cell (6,4) value: %i\n", + cell_value.value.int_value); + return -37; + } + + ret = freexl_get_cell_value (handle, 7, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (7,4): %d\n", ret); + return -38; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (7,4) type: %u\n", cell_value.type); + return -39; + } + if (cell_value.value.double_value != -36.05) + { + fprintf (stderr, "Unexpected cell (7,4) value: %f\n", + cell_value.value.double_value); + return -40; + } #if 0 - ret = freexl_get_cell_value(handle, 1, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,2): %d\n", ret); - return -41; - } - if (cell_value.type != FREEXL_CELL_INT) { - fprintf(stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); - return -42; - } - if (cell_value.value.int_value != 2) { - fprintf(stderr, "Unexpected cell (1,2) value: %d\n", cell_value.value.int_value); - return -43; - } - - ret = freexl_get_cell_value(handle, 1, 3, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,3): %d\n", ret); - return -44; - } - if (cell_value.type != FREEXL_CELL_DOUBLE) { - fprintf(stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); - return -45; - } - if (cell_value.value.double_value != 4.2) { - fprintf(stderr, "Unexpected cell (1,3) value: %g\n", cell_value.value.double_value); - return -46; - } - - ret = freexl_get_cell_value(handle, 1, 4, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,4): %d\n", ret); - return -47; - } - if (cell_value.type != FREEXL_CELL_TIME) { - fprintf(stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); - return -48; - } - if (strcmp(cell_value.value.text_value, "11:00:00") != 0) { - fprintf(stderr, "Unexpected cell (1,4) value: %s\n", cell_value.value.text_value); - return -49; - } - - ret = freexl_get_cell_value(handle, 1, 5, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,5): %d\n", ret); - return -50; - } - if (cell_value.type != FREEXL_CELL_DATETIME) { - fprintf(stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); - return -51; - } - if (strcmp(cell_value.value.text_value, "2011-08-21 10:23:45") != 0) { - fprintf(stderr, "Unexpected cell (1,5) value: %s\n", cell_value.value.text_value); - return -52; - } - - ret = freexl_get_cell_value(handle, 1, 6, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (1,6): %d\n", ret); - return -53; - } - if (cell_value.type != FREEXL_CELL_DATE) { - fprintf(stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); - return -54; - } - if (strcmp(cell_value.value.text_value, "1967-03-11") != 0) { - fprintf(stderr, "Unexpected cell (1,6) value: %s\n", cell_value.value.text_value); - return -55; - } - - ret = freexl_get_cell_value(handle, 0, 2, &cell_value); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting cell value (0,2): %d\n", ret); - return -56; - } - if (cell_value.type != FREEXL_CELL_NULL) { - fprintf(stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); - return -57; - } + ret = freexl_get_cell_value (handle, 1, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,2): %d\n", ret); + return -41; + } + if (cell_value.type != FREEXL_CELL_INT) + { + fprintf (stderr, "Unexpected cell (1,2) type: %u\n", cell_value.type); + return -42; + } + if (cell_value.value.int_value != 2) + { + fprintf (stderr, "Unexpected cell (1,2) value: %d\n", + cell_value.value.int_value); + return -43; + } + + ret = freexl_get_cell_value (handle, 1, 3, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,3): %d\n", ret); + return -44; + } + if (cell_value.type != FREEXL_CELL_DOUBLE) + { + fprintf (stderr, "Unexpected cell (1,3) type: %u\n", cell_value.type); + return -45; + } + if (cell_value.value.double_value != 4.2) + { + fprintf (stderr, "Unexpected cell (1,3) value: %g\n", + cell_value.value.double_value); + return -46; + } + + ret = freexl_get_cell_value (handle, 1, 4, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,4): %d\n", ret); + return -47; + } + if (cell_value.type != FREEXL_CELL_TIME) + { + fprintf (stderr, "Unexpected cell (1,4) type: %u\n", cell_value.type); + return -48; + } + if (strcmp (cell_value.value.text_value, "11:00:00") != 0) + { + fprintf (stderr, "Unexpected cell (1,4) value: %s\n", + cell_value.value.text_value); + return -49; + } + + ret = freexl_get_cell_value (handle, 1, 5, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,5): %d\n", ret); + return -50; + } + if (cell_value.type != FREEXL_CELL_DATETIME) + { + fprintf (stderr, "Unexpected cell (1,5) type: %u\n", cell_value.type); + return -51; + } + if (strcmp (cell_value.value.text_value, "2011-08-21 10:23:45") != 0) + { + fprintf (stderr, "Unexpected cell (1,5) value: %s\n", + cell_value.value.text_value); + return -52; + } + + ret = freexl_get_cell_value (handle, 1, 6, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (1,6): %d\n", ret); + return -53; + } + if (cell_value.type != FREEXL_CELL_DATE) + { + fprintf (stderr, "Unexpected cell (1,6) type: %u\n", cell_value.type); + return -54; + } + if (strcmp (cell_value.value.text_value, "1967-03-11") != 0) + { + fprintf (stderr, "Unexpected cell (1,6) value: %s\n", + cell_value.value.text_value); + return -55; + } + + ret = freexl_get_cell_value (handle, 0, 2, &cell_value); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting cell value (0,2): %d\n", ret); + return -56; + } + if (cell_value.type != FREEXL_CELL_NULL) + { + fprintf (stderr, "Unexpected cell (0,2) type: %u\n", cell_value.type); + return -57; + } /* error cases */ - ret = freexl_get_cell_value(handle, 5, 1, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (5,1): %d\n", ret); - return -56; - } - ret = freexl_get_cell_value(handle, 1, 99, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,99): %d\n", ret); - return -57; - } - ret = freexl_get_cell_value(handle, 2, 2, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (2,2): %d\n", ret); - return -58; - } - ret = freexl_get_cell_value(handle, 1, 7, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (1,7): %d\n", ret); - return -59; - } + ret = freexl_get_cell_value (handle, 5, 1, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (5,1): %d\n", ret); + return -56; + } + ret = freexl_get_cell_value (handle, 1, 99, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,99): %d\n", ret); + return -57; + } + ret = freexl_get_cell_value (handle, 2, 2, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (2,2): %d\n", ret); + return -58; + } + ret = freexl_get_cell_value (handle, 1, 7, &cell_value); + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (1,7): %d\n", ret); + return -59; + } /* Check the second worksheet */ - ret = freexl_get_worksheet_name(handle, 1, &worksheet_name); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet name: %d\n", ret); - return -60; - } - if (strcmp(worksheet_name, "Renamed sheet") != 0) { - fprintf(stderr, "Unexpected worksheet name: %s\n", worksheet_name); - return -63; - } + ret = freexl_get_worksheet_name (handle, 1, &worksheet_name); + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet name: %d\n", ret); + return -60; + } + if (strcmp (worksheet_name, "Renamed sheet") != 0) + { + fprintf (stderr, "Unexpected worksheet name: %s\n", worksheet_name); + return -63; + } ret = freexl_select_active_worksheet (handle, 1); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error setting active worksheet to 1: %d\n", ret); - return -64; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error setting active worksheet to 1: %d\n", ret); + return -64; + } + ret = freexl_get_active_worksheet (handle, &active_idx); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting active worksheet : %d\n", ret); - return -65; - } - if (active_idx != 1) { - fprintf(stderr, "Unexpected active sheet: %d\n", info); - return -66; - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting active worksheet : %d\n", ret); + return -65; + } + if (active_idx != 1) + { + fprintf (stderr, "Unexpected active sheet: %d\n", info); + return -66; + } + ret = freexl_worksheet_dimensions (handle, &num_rows, &num_columns); - if (ret != FREEXL_OK) { - fprintf(stderr, "Error getting worksheet dimensions 2: %d\n", ret); - return -67; - } - if ((num_rows != 0) || (num_columns != 0)) { - fprintf(stderr, "Unexpected active sheet dimensions: %u x %u\n", - num_rows, num_columns); - return -68; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "Error getting worksheet dimensions 2: %d\n", ret); + return -67; + } + if ((num_rows != 0) || (num_columns != 0)) + { + fprintf (stderr, "Unexpected active sheet dimensions: %u x %u\n", + num_rows, num_columns); + return -68; + } ret = freexl_get_cell_value (handle, 0, 0, &cell_value); - if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) { - fprintf(stderr, "Unexpected result for (0,0): %d\n", ret); - return -69; - } + if (ret != FREEXL_ILLEGAL_CELL_ROW_COL) + { + fprintf (stderr, "Unexpected result for (0,0): %d\n", ret); + return -69; + } #endif ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/Makefile.in freexl-1.0.6/tests/Makefile.in --- freexl-1.0.5/tests/Makefile.in 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/Makefile.in 2020-08-02 06:48:11.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -196,7 +196,23 @@ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/check_boolean_biff8.Po \ + ./$(DEPDIR)/check_datetime_biff8.Po \ + ./$(DEPDIR)/check_excel2003_biff2.Po \ + ./$(DEPDIR)/check_excel2003_biff3.Po \ + ./$(DEPDIR)/check_excel2003_biff3_error_checks.Po \ + ./$(DEPDIR)/check_excel2003_biff3_info.Po \ + ./$(DEPDIR)/check_excel2003_biff4.Po \ + ./$(DEPDIR)/check_excel2003_biff4_1904.Po \ + ./$(DEPDIR)/check_excel2003_biff4_workbook.Po \ + ./$(DEPDIR)/check_excel2003_biff5_workbook.Po \ + ./$(DEPDIR)/check_excel2003_biff8.Po \ + ./$(DEPDIR)/check_oocalc95.Po ./$(DEPDIR)/check_oocalc97.Po \ + ./$(DEPDIR)/check_oocalc97_intvalue.Po \ + ./$(DEPDIR)/open_excel2003.Po ./$(DEPDIR)/open_oocalc95.Po \ + ./$(DEPDIR)/open_oocalc97.Po ./$(DEPDIR)/walk_fat_oocalc97.Po \ + ./$(DEPDIR)/walk_sst_oocalc97.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -628,8 +644,8 @@ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -732,25 +748,31 @@ distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_boolean_biff8.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_datetime_biff8.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff2.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3_error_checks.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3_info.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4_1904.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4_workbook.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff5_workbook.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff8.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc95.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc97.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc97_intvalue.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_excel2003.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_oocalc95.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_oocalc97.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/walk_fat_oocalc97.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/walk_sst_oocalc97.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_boolean_biff8.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_datetime_biff8.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff2.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3_error_checks.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff3_info.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4_1904.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff4_workbook.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff5_workbook.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_excel2003_biff8.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc95.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc97.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_oocalc97_intvalue.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_excel2003.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_oocalc95.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open_oocalc97.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/walk_fat_oocalc97.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/walk_sst_oocalc97.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -951,7 +973,7 @@ fi; \ $$success || exit 1 -check-TESTS: +check-TESTS: $(check_PROGRAMS) @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @@ -1120,7 +1142,10 @@ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -1196,7 +1221,25 @@ mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/check_boolean_biff8.Po + -rm -f ./$(DEPDIR)/check_datetime_biff8.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff2.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3_error_checks.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3_info.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4_1904.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4_workbook.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff5_workbook.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff8.Po + -rm -f ./$(DEPDIR)/check_oocalc95.Po + -rm -f ./$(DEPDIR)/check_oocalc97.Po + -rm -f ./$(DEPDIR)/check_oocalc97_intvalue.Po + -rm -f ./$(DEPDIR)/open_excel2003.Po + -rm -f ./$(DEPDIR)/open_oocalc95.Po + -rm -f ./$(DEPDIR)/open_oocalc97.Po + -rm -f ./$(DEPDIR)/walk_fat_oocalc97.Po + -rm -f ./$(DEPDIR)/walk_sst_oocalc97.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1242,7 +1285,25 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/check_boolean_biff8.Po + -rm -f ./$(DEPDIR)/check_datetime_biff8.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff2.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3_error_checks.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff3_info.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4_1904.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff4_workbook.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff5_workbook.Po + -rm -f ./$(DEPDIR)/check_excel2003_biff8.Po + -rm -f ./$(DEPDIR)/check_oocalc95.Po + -rm -f ./$(DEPDIR)/check_oocalc97.Po + -rm -f ./$(DEPDIR)/check_oocalc97_intvalue.Po + -rm -f ./$(DEPDIR)/open_excel2003.Po + -rm -f ./$(DEPDIR)/open_oocalc95.Po + -rm -f ./$(DEPDIR)/open_oocalc97.Po + -rm -f ./$(DEPDIR)/walk_fat_oocalc97.Po + -rm -f ./$(DEPDIR)/walk_sst_oocalc97.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -1263,16 +1324,16 @@ .MAKE: check-am install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ + check-am clean clean-checkPROGRAMS clean-generic clean-libtool \ + cscopelist-am ctags ctags-am distclean distclean-compile \ + distclean-generic distclean-libtool distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ recheck tags tags-am uninstall uninstall-am diff -Nru freexl-1.0.5/tests/open_excel2003.c freexl-1.0.6/tests/open_excel2003.c --- freexl-1.0.5/tests/open_excel2003.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/open_excel2003.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,27 +49,34 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; ret = freexl_open ("testdata/empty2003.xls", &handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - if (!handle) { - fprintf (stderr, "Null workbook handle\n"); - return -3; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + if (!handle) + { + fprintf (stderr, "Null workbook handle\n"); + return -3; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/open_oocalc95.c freexl-1.0.6/tests/open_oocalc95.c --- freexl-1.0.5/tests/open_oocalc95.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/open_oocalc95.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,22 +49,28 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; ret = freexl_open ("testdata/oocalc_empty95.xls", &handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "OPEN ERROR: %d\n", ret); - return -1; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/open_oocalc97.c freexl-1.0.6/tests/open_oocalc97.c --- freexl-1.0.5/tests/open_oocalc97.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/open_oocalc97.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,22 +49,28 @@ #include "freexl.h" -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; ret = freexl_open ("testdata/oocalc_empty97.xls", &handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "OPEN ERROR: %d\n", ret); - return -1; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf (stderr, "CLOSE ERROR: %d\n", ret); - return -2; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -2; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/walk_fat_oocalc97.c freexl-1.0.6/tests/walk_fat_oocalc97.c --- freexl-1.0.5/tests/walk_fat_oocalc97.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/walk_fat_oocalc97.c 2020-08-02 06:43:26.000000000 +0000 @@ -49,197 +49,212 @@ #include "freexl.h" -const unsigned int expected_fat_flag[] = { - 0xfffffffd, - 0xffffffff, - 0xfffffffe, - 0x00000004, - 0x00000005, - 0x00000006, - 0x00000007, - 0x00000008, - 0x00000009, - 0xfffffffe, - 0x0000000b, - 0xfffffffe, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff, - 0xffffffff - }; - -int main (int argc, char *argv[]) +const unsigned int expected_fat_flag[] = { + 0xfffffffd, + 0xffffffff, + 0xfffffffe, + 0x00000004, + 0x00000005, + 0x00000006, + 0x00000007, + 0x00000008, + 0x00000009, + 0xfffffffe, + 0x0000000b, + 0xfffffffe, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff, + 0xffffffff +}; + +int +main (int argc, char *argv[]) { const void *handle; int ret; unsigned int fat_count = 0; unsigned int fat_flag = 0; - int i; + unsigned int i; ret = freexl_open ("testdata/oocalc_simple97.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_CFBF_FAT_COUNT, &fat_count); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for FAT entries count: %d\n", ret); - return -2; - } - if (fat_count != 128) { - fprintf(stderr, "Unexpected FAT entries count: %d\n", fat_count); - return -3; - } - - for (i = 0; i < fat_count; ++i) { - ret = freexl_get_FAT_entry (handle, i, &fat_flag); - if (ret != FREEXL_OK) { - fprintf(stderr, "get_FAT_entry error for %i: %d\n", i, ret); - return -4; - } - if (fat_flag != expected_fat_flag[i]) { - fprintf(stderr, "unexpected flag at %i: 0x%08x (expected 0x%08x)\n", - i, fat_flag, expected_fat_flag[i]); - } - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_CFBF_FAT_COUNT, &fat_count); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for FAT entries count: %d\n", ret); + return -2; + } + if (fat_count != 128) + { + fprintf (stderr, "Unexpected FAT entries count: %d\n", fat_count); + return -3; + } + + for (i = 0; i < fat_count; ++i) + { + ret = freexl_get_FAT_entry (handle, i, &fat_flag); + if (ret != FREEXL_OK) + { + fprintf (stderr, "get_FAT_entry error for %i: %d\n", i, ret); + return -4; + } + if (fat_flag != expected_fat_flag[i]) + { + fprintf (stderr, + "unexpected flag at %i: 0x%08x (expected 0x%08x)\n", i, + fat_flag, expected_fat_flag[i]); + } + } + /* error case checks */ ret = freexl_get_FAT_entry (handle, fat_count, &fat_flag); - if (ret != FREEXL_CFBF_ILLEGAL_FAT_ENTRY) { - fprintf(stderr, "get_FAT_entry error for +1: %d\n", ret); - return -6; - } + if (ret != FREEXL_CFBF_ILLEGAL_FAT_ENTRY) + { + fprintf (stderr, "get_FAT_entry error for +1: %d\n", ret); + return -6; + } ret = freexl_get_FAT_entry (NULL, 0, &fat_flag); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "get_FAT_entry error for null handle: %d\n", ret); - return -7; - } + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, "get_FAT_entry error for null handle: %d\n", ret); + return -7; + } ret = freexl_get_FAT_entry (handle, 0, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "get_FAT_entry error for null arg: %d\n", ret); - return -8; - } + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, "get_FAT_entry error for null arg: %d\n", ret); + return -8; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -6; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -6; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; } diff -Nru freexl-1.0.5/tests/walk_sst_oocalc97.c freexl-1.0.6/tests/walk_sst_oocalc97.c --- freexl-1.0.5/tests/walk_sst_oocalc97.c 2018-02-22 14:15:32.000000000 +0000 +++ freexl-1.0.6/tests/walk_sst_oocalc97.c 2020-08-02 06:43:26.000000000 +0000 @@ -41,13 +41,14 @@ / the provisions above, a recipient may use your version of this file under / the terms of any one of the MPL, the GPL or the LGPL. / -*/#include +*/ +#include #include #include #include "freexl.h" -const char * expected_string[] = { +const char *expected_string[] = { "Col 1", "Col 2", "time", @@ -57,67 +58,81 @@ "B" }; -int main (int argc, char *argv[]) +int +main (int argc, char *argv[]) { const void *handle; int ret; unsigned int sst_count; - int i; + unsigned int i; const char *sst_entry; ret = freexl_open ("testdata/oocalc_simple97.xls", &handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "OPEN ERROR: %d\n", ret); - return -1; - } - - ret = freexl_get_info(handle, FREEXL_BIFF_STRING_COUNT, &sst_count); - if (ret != FREEXL_OK) { - fprintf(stderr, "GET_INFO ERROR for SST string count: %d\n", ret); - return -2; - } - if (sst_count != 7) { - fprintf(stderr, "Unexpected SST string count: %d\n", sst_count); - return -3; - } - - for (i = 0; i < sst_count; ++i) { - ret = freexl_get_SST_string (handle, i, &sst_entry); - if (ret != FREEXL_OK) { - fprintf(stderr, "get_SST_string error for %i: %d\n", i, ret); - return -4; - } - if (strcmp(sst_entry, expected_string[i]) != 0) { - fprintf(stderr, "string mismatch at %i: got %s expected %s\n", - i, sst_entry, expected_string[i]); - return -5; - } - } - + if (ret != FREEXL_OK) + { + fprintf (stderr, "OPEN ERROR: %d\n", ret); + return -1; + } + + ret = freexl_get_info (handle, FREEXL_BIFF_STRING_COUNT, &sst_count); + if (ret != FREEXL_OK) + { + fprintf (stderr, "GET_INFO ERROR for SST string count: %d\n", ret); + return -2; + } + if (sst_count != 7) + { + fprintf (stderr, "Unexpected SST string count: %d\n", sst_count); + return -3; + } + + for (i = 0; i < sst_count; ++i) + { + ret = freexl_get_SST_string (handle, i, &sst_entry); + if (ret != FREEXL_OK) + { + fprintf (stderr, "get_SST_string error for %i: %d\n", i, ret); + return -4; + } + if (strcmp (sst_entry, expected_string[i]) != 0) + { + fprintf (stderr, "string mismatch at %i: got %s expected %s\n", + i, sst_entry, expected_string[i]); + return -5; + } + } + /* error case checks */ ret = freexl_get_SST_string (handle, sst_count, &sst_entry); - if (ret != FREEXL_BIFF_ILLEGAL_SST_INDEX) { - fprintf(stderr, "get_SST_string error for +1: %d\n", ret); - return -6; - } + if (ret != FREEXL_BIFF_ILLEGAL_SST_INDEX) + { + fprintf (stderr, "get_SST_string error for +1: %d\n", ret); + return -6; + } ret = freexl_get_SST_string (NULL, 0, &sst_entry); - if (ret != FREEXL_NULL_HANDLE) { - fprintf(stderr, "get_SST_string error for null handle: %d\n", ret); - return -7; - } + if (ret != FREEXL_NULL_HANDLE) + { + fprintf (stderr, "get_SST_string error for null handle: %d\n", ret); + return -7; + } ret = freexl_get_SST_string (handle, 0, NULL); - if (ret != FREEXL_NULL_ARGUMENT) { - fprintf(stderr, "get_SST_string error for null arg: %d\n", ret); - return -8; - } + if (ret != FREEXL_NULL_ARGUMENT) + { + fprintf (stderr, "get_SST_string error for null arg: %d\n", ret); + return -8; + } ret = freexl_close (handle); - if (ret != FREEXL_OK) { - fprintf(stderr, "CLOSE ERROR: %d\n", ret); - return -6; - } + if (ret != FREEXL_OK) + { + fprintf (stderr, "CLOSE ERROR: %d\n", ret); + return -6; + } + + if (argc > 1 || argv[0] == NULL) + argc = 1; /* silencing stupid compiler warnings */ return 0; }