[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5731] MD5 Marshaling

From: Robert Feldt <feldt@...>
Date: 2000-10-21 11:32:41 UTC
List: ruby-talk #5731
Hi,

I needed marshaling on MD5 objects so made a small (and
simplistic!) patch. Works for me and may be useful for others. Patch and
very small test below.

Regards,

Robert

patch_md5init:
*** md5init.c	Sat Oct 21 13:19:40 2000
--- ../md5_old/md5init.c	Sat Oct 21 12:43:52 2000
***************
*** 99,135 ****
      return obj;
  }
  
- static VALUE
- md5_dump(self, aDepth)
-      VALUE self;
-      VALUE aDepth;
- {
-     MD5_CTX *md5_context;
- 
-     // Get context
-     Data_Get_Struct(self, MD5_CTX, md5_context);
- 
-     // Make string from raw data in context and return as dump
-     return rb_str_new((char*)md5_context, sizeof(MD5_CTX));
- }
- 
- static VALUE
- md5_load(klass, aString)
-      VALUE klass;
-      VALUE aString;
- {
-     VALUE obj;
-     MD5_CTX *md5;
- 
-     // Wrap up a context
-     obj = Data_Make_Struct(klass, MD5_CTX, 0, free, md5);
- 
-     // Copy the dumped context
-     memcpy((char*)md5, RSTRING(aString)->ptr, sizeof(MD5_CTX));
- 
-     return obj;
- }
- 
  void
  Init_md5()
  {
--- 99,104 ----
***************
*** 142,148 ****
      rb_define_method(cMD5, "digest", md5_digest, 0);
      rb_define_method(cMD5, "hexdigest", md5_hexdigest, 0);
      rb_define_method(cMD5, "clone",  md5_clone, 0);
- 
-     rb_define_method(cMD5, "_dump", md5_dump, 1);
-     rb_define_singleton_method(cMD5, "_load", md5_load, 1);
  }
--- 111,114 ----

test_md5_marshaling.rb:
require 'md5'

md1 = MD5.new
md1.update "Simplest possible test!"

md2 = Marshal.load(Marshal.dump(md1))

md1.update "Now we'll see!"
md2.update "Now we'll see!"

if md1.hexdigest != md2.hexdigest
  puts "ERROR! Digests differ"
else
  puts "Test succeeded. Marshaling of MD5 seems to work"
end



In This Thread