octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #52408] [io] odsread fails because JOD interfa


From: Marshall
Subject: [Octave-bug-tracker] [bug #52408] [io] odsread fails because JOD interface falsely recognized as available
Date: Tue, 14 Nov 2017 15:49:09 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0

URL:
  <http://savannah.gnu.org/bugs/?52408>

                 Summary: [io] odsread fails because JOD interface falsely
recognized as available
                 Project: GNU Octave
            Submitted by: marsian
            Submitted on: Tue 14 Nov 2017 08:49:07 PM UTC
                Category: Octave Forge Package
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Unexpected Error
                  Status: None
             Assigned to: None
         Originator Name: Marsian
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 4.2.1
        Operating System: Microsoft Windows

    _______________________________________________________

Details:

I run the following and get the following error: 


>> [ numarr , txtarr, rawarr, limits] = odsread(sequenceFile);

Detected ODS interfaces: JOD*; OCT; (* = default interface)
error: Couldn't open file (...).ods using JOD
error: called from
    __JOD_spsh_open__ at line 68 column 7
    odsopen at line 257 column 30
    odsread at line 179 column 7


It happened in io version 2.4.5, but still happens when updating to 2.4.8. I
believe this happens because the JOD interface is being "detected" as
available, and being used, even though it is not available. I think I traced
it down to __JOD_chk_sprt__ where the last line always sets the check to valid
for JOD:

function [chk, missing6] = __JOD_chk_sprt__ (jcp, dbug=0)

  chk = 0;
  if (dbug > 1)
    printf ("\njOpenDocument (.ods + experimental .sxc readonly)
<jOpendocument>:\n");
  endif
  entries6 = {"jOpenDocument"}; 
  [jpchk, missing6] = chk_jar_entries (jcp, entries6, dbug);
  missing6 = entries6 (find (missing6));
  if (jpchk >= numel(entries6))
    chk = 1;
    if (dbug > 1)
      printf ("  => jOpenDocument (JOD) OK.\n");
    endif
  elseif (dbug > 1)
    printf ("  => Not all required classes (.jar) for JOD in classpath\n");
  endif

  ## No additional checks required
  chk = 1;

endfunction


If I comment out this last line with chk = 1;, then it works.




    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?52408>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]