3.0.4 RC3 (mingw 3.4.5)-2

Tatsuro MATSUOKA tmacchant at yahoo.co.jp
Wed Mar 4 01:10:59 CST 2009


Hello Benjamin

--- Benjamin Lindner wrote:

> I have put some thought into this problem and have changed the behaviour 
> of reading ascii mode data by doing the following
>   *) files get always opened in binary mode when loading data (saving to 
> ascii is still done in text mode)
>   *) walked through the load_ascii( ) method of the various octave_value 
> derived classes and moved all newline/cr/lf related code into common 
> functions
>   *) created ls-ascii-helper.h and ls-ascii-helper.cc and stored the 
> common functions there
> 
> With this, I get rid of the failing test in ov-fcn-handle.cc on mingw. I 
> have no additional failed tests. Saving and loading in "-text" format 
> seems to work, I have not encountered problems yet.
> 
> I don't have access to matlab, so I could not check what happens with 
> data files in matlab's text format. I'd appreciate cross-checks.
> 


I have tried at 3.0.4RC5 but failed at

Creating library file: liboctinterp.dll.a
ls-mat-ascii.o:ls-mat-ascii.cc:(.text+0x22c): undefined reference to
`skip_until_newline(std::istream&, bool)'
ls-oct-ascii.o:ls-oct-ascii.cc:(.text+0xf83): undefined reference to
`skip_until_newline(std::istream&, bool)'
ls-oct-ascii.o:ls-oct-ascii.cc:(.text+0x1376): undefined reference to
`skip_until_newline(std::istream&, bool)'
ov-list.o:ov-list.cc:(.text$_Z15extract_keywordIiEbRSiPKcRT_b[bool
extract_keyword<int>(std::basic_istream<char, std::ch
ar_traits<char> >&, char const*, int&, bool)]+0x24a): undefined reference to
`skip_until_newline(std::istream&, bool)'
ov-re-mat.o:ov-re-mat.cc:(.text$_Z15extract_keywordIiEbRSiRK13string_vectorRSsRT_b[bool
extract_keyword<int>(std::basic_
istream<char, std::char_traits<char> >&, string_vector const&, std::basic_string<char,
std::char_traits<char>, std::allo
cator<char> >&, int&, bool)]+0x7ff): undefined reference to `skip_until_newline(std::istream&, bool)'
ov-range.o:ov-range.cc:(.text+0xec): more undefined references to `skip_until_newline(std::istream&,
bool)' follow
ov-str-mat.o:ov-str-mat.cc:(.text+0x4951): undefined reference to
`skip_preceeding_newline(std::istream&)'
ov-fcn-handle.o:ov-fcn-handle.cc:(.text+0x6658): undefined reference to
`skip_preceeding_newline(std::istream&)'
ov-fcn-handle.o:ov-fcn-handle.cc:(.text+0x6a96): undefined reference to
`read_until_newline(std::istream&, bool)'
collect2: ld returned 1 exit status
make[2]: *** [liboctinterp.dll] Error 1

Perhaps this due to

ov-fcn-inline.cc.rej
***************
*** 159,186 ****
  	nm = "";
  
        char c;
-       std::ostringstream buf;
  
        // Skip preceeding newline(s)
-       while (is.get (c) && c == '\n')
- 	/* do nothing */;
  
        if (is)
  	{
- 	  buf << c;
  
  	  // Get a line of text whitespace characters included, leaving
  	  // newline in the stream
- 	  while (is.peek () != '\n')
- 	    {
- 	      is.get (c);
- 	      if (! is)
- 		break;
- 	      buf << c;
- 	    }
  	}
  
-       iftext = buf.str ();
  
        octave_fcn_inline tmp (iftext, ifargs, nm);
        fcn = tmp.fcn;
--- 160,179 ----
  	nm = "";
  
        char c;
+       std::string buf;
  
        // Skip preceeding newline(s)
+       skip_preceeding_newline (is);
  
        if (is)
  	{
  
  	  // Get a line of text whitespace characters included, leaving
  	  // newline in the stream
+ 	  buf = read_until_newline (is, true);
  	}
  
+       iftext = buf;
  
        octave_fcn_inline tmp (iftext, ifargs, nm);
        fcn = tmp.fcn;


*****************************

Should  your patch  be applied to RC3 ?

I have already deleted RC3. If so, I have to download RC3.

Regards

Tatsuro

--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/


More information about the Octave-maintainers mailing list