[#11822] RCR: Input XML support in the base Ruby — Dave Thomas <Dave@...>

15 messages 2001/03/01

[#11960] Not Ruby, for me, for the moment at least — "Michael Kreuzer" <mkreuzer@... (nospam)>

I wrote on this newsgroup last weekend about how I was considering using

11 messages 2001/03/04

[#12023] French RUG ? — "Jerome" <jeromg@...>

Hi fellow rubyers,

16 messages 2001/03/05

[#12103] disassembling and reassembling a hash — raja@... (Raja S.)

Given a hash, h1, will the following always hold?

20 messages 2001/03/06

[#12204] FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1>

Ruby is, indeed, a very well designed language.

64 messages 2001/03/07
[#12250] Re: FEATURE REQUEST: 'my' local variables — Leo Razoumov <see_signature@127.0.0.1> 2001/03/07

>>>>> "GK" == GOTO Kentaro <gotoken@math.sci.hokudai.ac.jp> writes:

[#12284] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/08

In message "[ruby-talk:12250] Re: FEATURE REQUEST: 'my' local variables"

[#12289] Re: FEATURE REQUEST: 'my' local variables — matz@... (Yukihiro Matsumoto) 2001/03/08

Hi,

[#12452] Re: FEATURE REQUEST: 'my' local variables — gotoken@... (GOTO Kentaro) 2001/03/12

In message "[ruby-talk:12289] Re: FEATURE REQUEST: 'my' local variables"

[#12553] Re: FEATURE REQUEST: 'my' local variables — Dave Thomas <Dave@...> 2001/03/13

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#12329] Math package — Mathieu Bouchard <matju@...>

18 messages 2001/03/09

[#12330] Haskell goodies, RCR and challenge — Robert Feldt <feldt@...>

Hi,

19 messages 2001/03/09
[#12374] Re: Haskell goodies, RCR and challenge — matz@... (Yukihiro Matsumoto) 2001/03/10

Hi,

[#12349] Can Ruby-GTK display Gif Png or Jpeg files? — Phlip <phlip_cpp@...>

Ruby-san:

20 messages 2001/03/09

[#12444] class variables — Max Ischenko <max@...>

14 messages 2001/03/12

[#12606] Order, chaos, and change requests :) — Dave Thomas <Dave@...>

17 messages 2001/03/14

[#12635] email address regexp — "David Fung" <dfung@...>

i would like to locate probable email addresses in a bunch of text files,

12 messages 2001/03/14

[#12646] police warns you -- Perl is dangerous!! — Leo Razoumov <see_signature@127.0.0.1>

I just read this story on Slashdot

14 messages 2001/03/14
[#12651] Re: police warns you -- Perl is dangerous!! — pete@... (Pete Kernan) 2001/03/14

On 14 Mar 2001 11:46:35 -0800, Leo Razoumov <see_signature@127.0.0.1> wrote:

[#12691] Re: police warns you -- Perl is dangerous!! — "W. Kent Starr" <elderburn@...> 2001/03/15

On Wednesday 14 March 2001 15:40, Pete Kernan wrote:

[#12709] [OFFTOPIC] Re: police warns you -- Perl is dangerous!! — Stephen White <spwhite@...> 2001/03/16

On Fri, 16 Mar 2001, W. Kent Starr wrote:

[#12655] Re: FEATURE REQUEST: 'my' local variables — "Benjamin J. Tilly" <ben_tilly@...>

>===== Original Message From Leo Razoumov <see_signature@127.0.0.1> =====

18 messages 2001/03/14

[#12706] Library packaging — "Nathaniel Talbott" <ntalbott@...>

I have a project that I'm working on that needs to live two different lives,

30 messages 2001/03/16

[#12840] Looking for a decent compression scheme — Dave Thomas <Dave@...>

14 messages 2001/03/19

[#12895] differences between range and array — "Doug Edmunds" <dae_alt3@...>

This code comes from the online code examples for

16 messages 2001/03/20
[#12896] Re: differences between range and array — "Hee-Sob Park" <phasis@...> 2001/03/20

[#12899] Re: differences between range and array — Jim Freeze <jim@...> 2001/03/20

On Tue, 20 Mar 2001, Hee-Sob Park wrote:

[#12960] TextBox ListBox — Ron Jeffries <ronjeffries@...>

Attached is a little Spike that Chet and I are doing. It is a

13 messages 2001/03/20

[#12991] [ANN] Lapidary 0.2.0 — "Nathaniel Talbott" <ntalbott@...>

Well, here's my first major contribution to the Ruby world: Lapidary. It's a

16 messages 2001/03/20

[#13028] mkmf question — Luigi Ballabio <luigi.ballabio@...>

15 messages 2001/03/21

[#13185] Reading a file backwards — "Daniel Berger" <djberg96@...>

Hi all,

21 messages 2001/03/25
[#13197] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

> Hi Dan,

[#13203] Re: Reading a file backwards — Mathieu Bouchard <matju@...> 2001/03/25

On Sun, 25 Mar 2001, Daniel Berger wrote:

[#13210] Re: Reading a file backwards — "Daniel Berger" <djberg96@...> 2001/03/25

"Mathieu Bouchard" <matju@sympatico.ca> wrote in message

[#13374] Passing an array to `exec'? — Lloyd Zusman <ljz@...>

I'd like to do the following:

15 messages 2001/03/31

[#13397] Multidimensional arrays and hashes? — Lloyd Zusman <ljz@...>

Is it possible in ruby to make use of constructs that correspond to

14 messages 2001/03/31

[ruby-talk:12688] Re: Strange segmentation fault problem with C++ extension [fixed]

From: PaulC <paulch@...>
Date: 2001-03-15 15:10:02 UTC
List: ruby-talk #12688
in article 200103150743.f2F7hGZ00905@orsay1.moulon.inra.fr, ts at
decoux@moulon.inra.fr wrote on 14/3/01 11:51 PM:
> 
> Try in your source to don't mix C++-try with rb_raise()
> 
> Guy Decoux

It worked !

I moved the rb_raise() outside the C++ try block and this fixed the problem.

I'm not sure what the underlying cause was (shared global?) however your
suggestion seems like good advice for any C++ modules - perhaps we should
capture this somewhere (README.EXT ?).

Thanks again to everyone who took the time to help out with this. I really
appreciate the input from Guy/Matz and the rest of the community took in
fixing this - it saved my sanity !

I will tidy up the module and put it up on the RAA in the next few days in
case anyone else finds this useful.

The sad thing is that having taken another look at the problem (reading a
PkZip compressed file) I now suspect that this is not the best solution.

I had assumed that there was something horribly complex about actually
reading and extracting data from the PkZip file format and that therefore
the easiest approach would be to wrap an existing library.

However when my level of desperation was at its height I actually dug out
the PkZip file format and found that it was actually fairly simple. It
was somewhat of a revelation to me to be able to write a simple stream
extractor in a few lines of code using Ruby's unpack method and the
excellent Zlib module (I did have to patch Zlib module very slightly to
allow it to pass -MAX_BITS as the 'windowBits' argument in the constructor)

require 'zlib'
    ==>true
f = File.new "test.zip"
    ==>#<File:0x8166a24>
header = f.read(30).unpack 'VvvvvvVVVvv'
    ==>[67324752, 20, 0, 8, 23159, 10857, 3648051104, 225, 402, 10, 21]
filename = f.read header[9]
    ==>"extconf.rb"
extra = f.read header[10]
    ==>"UT\t\000\003\242\002\251:\027\327\252:Ux\004\000\000\000d\000"
data = f.read header[7]
    ==>...compressed data
z = Zlib::Inflate.new -1
    ==>#<Inflate:0x816e3c8>
z << data
    ==>#<Inflate:0x816e3c8>
result = z.finish
    ==>...uncompressed data

Reading the Zip central directory to allow random access is equally simple.
This obviously needs to be tidied up and wrapped in a Class however this is
much less work than the C++ extension took !

Also, the Zlib extension is MUCH smaller that the wrapped Zipios C++
extension (which ends up with a huge stdc++ runtime overhead and large
number of abstracted supporting classes)

# ls -l Zlib.so
-rwxrwxr-x  1 paulc  users   79090 Mar 15 09:47 zlib.so
# ls -l Zip.so
-rwxrwxr-x  1 paulc  users  948499 Mar 15 07:50 Zip.so

Oh well, at least it has been a learning experience !

Regards, Paul

In This Thread

Prev Next