Commit graph

5239 commits

Author SHA1 Message Date
why
f3d9f34537 * lib/yaml/rubytypes.rb: remove comments that are bungling up
the rdoc and ri output.  output symbols as plain scalars.

* ext/syck/rubyext.c (syck_emitter_reset): emit headless
  documents always.

* ext/syck/emitter.c (syck_scan_scalar): quote scalars with any
  kind of surrounding line space, tabs or spaces alike.

* ext/syck/token.c: accept tabs as whitespace, not for indentation,
  but strip from plain scalars.

* test/yaml/test_yaml.rb: remove outdated tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 17:22:49 +00:00
nagai
762ed0d68c * ext/tk/lib/multi-tk.rb: MultiTkIp#eval_string and bg_eval_string
should call Kernel.eval on caller's safe-level instead of slave's
  safe-level (Of course, the given script should be evaluated on
  slave's safe-level).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-17 01:44:28 +00:00
matz
38aeed1f94 * ext/syck/node.c (syck_replace_str): was using return from the
void function.  a patch from MIYAMUKO Katsuyuki
  <miyamuko@mtb.biglobe.ne.jp>.  [ruby-dev:27111]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9180 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 09:37:45 +00:00
matz
56d82da97c * ext/bigdecimal/bigdecimal.c: patch from "NATORI Shin"
(u-tokyo.ac.jp) applied to fix rounding bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9179 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 07:22:49 +00:00
nagai
e0166cd8f6 * ext/tk/lib/multi-tk.rb: fix typo on MultiTkIp#bg_eval_string
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9178 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 05:50:56 +00:00
matz
1b644555ae * ext/syck/rubyext.c (syck_resolver_transfer): remove C++ style
comment (//).  [ruby-core:05793]

* lib/net/telnet.rb (Net::Telnet::waitfor): replace sysread with
  readpartial.  [ruby-talk:127641]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9177 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-16 03:09:51 +00:00
nagai
a2e57fd160 * ext/tk/lib/tk/dialog.rb: If a dialog does not show up yet,
TkDialogObj#name raises an exception. [ruby-talk:156109]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-15 02:41:17 +00:00
why
f1827a2faf * lib/yaml.rb: reworking YAML::Stream to use the new
emitter.

* lib/yaml/stream.rb: ditto.

* lib/yaml/rubytypes.rb: added Object#yaml_new.

* lib/yaml/tag.rb: the tag_subclasses? method now
  shows up in the class.  allow taguri to be set using an accessor.
  continue support of Object#to_yaml_type.

* ext/syck/rubyext.c: new emitter code.  yaml_new and yaml_initialize
  get called, should they be present.  consolidated all the diaspora of internal
  node types into the family below YAML::Syck::Node -- Map,
  Seq, Scalar -- all of whom are SyckNode structs pointing to
  Ruby data.  moved Object#yaml_new into the node_import and made it the
  default behavior.  the target_class is always called wih yaml_new, prepended
  a parameter, which is the klass.  loaded nodes through GenericResolver show their style.
  new Resolver#tagurize converts type ids to taguris.

* ext/syck/implicit.re: were 'y' and 'n' seriously omitted??

* ext/syck/emitter.c: renovated emitter, walks the tree in advance.
  consolidated redundant block_styles struct into
  the scalar_style struct.  (this means loaded nodes can now
  be sent back to emitter and preserve at least its very basic
  formatting.)

* ext/syck/gram.c: headless documents of any kind allowed.

* ext/syck/node.c: new syck_replace_str methods and syck_empty_*
  methods for rewriting node contents, while keeping the ID
  and other setup info.  added syck_seq_assign.

* ext/syck/syck.h: reflect block_styles and new node functions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9141 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-13 03:58:33 +00:00
nobu
b3d2a8aaed * ext/iconv/iconv.c (iconv_try), ext/iconv/extconf.rb: get rid of meta
characters in command line option.  fixed: [ruby-talk:155369]

* ext/iconv/iconv.c: protoized.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-09 07:45:36 +00:00
matz
40a77284e5 * merged a patch from Takahiro Kambe <taca@back-street.net> to
support DragonFly BSD.  [ruby-dev:26984]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9103 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-08 06:00:56 +00:00
gotoyuzo
c4b83bb93f * ext/openssl/ossl_engine.c (ossl_engine_s_by_id):
OpenSSL::Engine.by_id calls given block before calling ENGINE_init
  (block parameter is the return value of this method itself).
  this functionality is useful to load dynamic shared engines.

        require "openssl"
        pkcs11 = OpenSSL::Engine.by_id("dynamic"){|e|
          e.ctrl_cmd("SO_PATH", "/usr/lib/opensc/engine_pkcs11.so")
          e.ctrl_cmd("LIST_ADD", "1")
          e.ctrl_cmd("LOAD")
        }
        pkcs11.ctrl_cmd("PIN", "secret")
        key = pkcs11.load_private_key

* ext/openssl/ossl_engine.c (ossl_engine_ctrl_cmd): new method
  OpenSSL::Engine#ctrl_cmd. it wraps ENGINE_ctrl_cmd_string.

* ext/openssl/ossl_engine.c (ossl_engine_get_cmds): new method
  OpenSSL::Engine#cmds. it returms engine command definitions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9095 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-07 08:29:47 +00:00
gotoyuzo
9147e519ba * ext/openssl/ossl_asn1.c (asn1str_to_str): new function.
* ext/openssl/ossl_pkcs7.c: new class OpenSSL::PKCS7::RecipientInfo.
  this class wraps PKCS7_RECIP_INFO struct.

* ext/openssl/ossl_pkcs7.c: OpenSSL::PKCS7::Signer is renamed to
  OpenSSL::PKCS7::SignerInfo. ("Signer" remains as an alias of
  SignerInfo.)

* test/openssl/test_pkcs7.rb: new file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-07 07:40:55 +00:00
nobu
757c6fa4c9 * lib/mkmf.rb (what_type?): guesstimate type.
* ext/etc/etc.c (setup_passwd), ext/etc/extconf.rb: pw_age might be
  char*.  fixed: [ruby-core:05470]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 23:35:31 +00:00
nobu
f6892cba23 * Makefile.in, configure.in (MINIOBJS): miniruby on HP-UX can not load
extension libraries.

* bignum.c (bignew_1, bigadd): K&R style argument actually can't be
  defined as char.

* missing/vsnprintf.c: ANSI compiler supports const keyword.

* ext/digest/sha2/extconf.rb: reject platforms which has inttypes.h
  but no 64bit integer.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-06 23:23:04 +00:00
nobu
768e6c1328 * parse.y (stmt, mlhs_node, lhs, arg, method_call): aref_args might be
nothing.  fixed: [ruby-dev:26952]

* ext/ripper/eventids2.c: added new tokens.  fixed: [ruby-dev:26952]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-05 13:29:01 +00:00
matz
df27d91fc4 * lib/observer.rb: a patch from nornagon <nornagon@gmail.com>
merged to allow arbitrary names for update methods.
  [ruby-core:05416]

* eval.c (rb_f_fcall): new method to avoid inefficiency of
  obj.instance_eval{send(...)} tricks.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9082 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-05 08:40:27 +00:00
gotoyuzo
d2847d92cd * ext/openssl/openssl/lib/openssl/buffering.rb (Buffering#do_write):
should clear data from the buffer which already been output.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-04 22:03:24 +00:00
nagai
804054e672 * ext/tk/lib/multi-tk.rb: On Tcl8.5, MultiTkIp#invoke_hidden doesn't
work (gives wrong order of arguments).
* ext/tk/lib/multi-tk.rb: add MultiTkIp#invoke_hidden_on_namespace
  to support '-namespace' option of 'interp invokehidden' command
  on Tcl8.5.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-09-01 05:15:19 +00:00
gotoyuzo
3b18462de7 * ext/digest/md5/md5ossl.h, ext/digest/rmd160/rmd160ossl.h,
ext/digest/sha1/sha1ossl.h: include <stddef.h> to avoid
  error in compilation with OpenSSL-0.9.8. [ruby-list:41068]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-30 10:43:36 +00:00
ocean
fb46cf1d7a * ext/curses/curses.c ({curses,window}_clrtoeol): added. suggested
by Reyn Vlietstra.

* ext/curses/curses.c: chtype in curses is not `char', rahter `long'.
  [ruby-Bugs:2298]

* ext/curses/view.rb: String =~ String is deprecated.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-27 11:21:30 +00:00
ocean
a5df717c8e * ext/win32ole/win32ole.c: supress warnings. (win32)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-25 06:51:33 +00:00
gotoyuzo
bfb1ed598c * ext/openssl/lib/digest.rb: added SHA224, SHA256, SHA384 and SHA512.
these features are enabled if this library is compiled with
  OpenSSL 0.9.8 or later.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-22 21:12:03 +00:00
gotoyuzo
8a94b1740a * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): try to decode
the argument as a string.

* ext/openssl/ossl_ns_pki.c (ossl_spki_to_der): new method.

* ext/openssl/ossl_x509store.c (ossl_x509store_initialize): should
  set @time to avoid warning.

* ext/openssl/ossl_x509store.c (ossl_x509store_set_default_paths,
  X509_STORE_add_cert, X509_STORE_add_crl): should raise error if
  wrapped functions fails.

* ext/openssl/ossl_ssl.c (ossl_sslctx_set_ciphers): fix error message.

* ext/openssl/ossl_x509req.c (ossl_x509req_set_attributes): get rid
  of unused variable.

* test/openssl/test_ns_spki.rb: add new file.

* test/openssl/test_x509store.rb: add test for error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-22 20:47:55 +00:00
suke
3dec8be265 refactoring
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-20 12:04:02 +00:00
suke
ad4ef9cf0a add test script to check WIN32OLE can invoke InvokeVerb of FolderItem2
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-20 07:34:34 +00:00
naruse
311d02a322 * ext/nkf/lib/kconv.rb: ensure that symbol_to_option is private_class_method
and all other methods are module_function
  fixed: [ruby-dev:26808]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8999 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-17 12:59:57 +00:00
suke
ba30d87a36 add WIN32OLE_VARIANT class.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 12:22:12 +00:00
suke
31c063eac3 add WIN32OLE_VARIANT class
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 12:13:20 +00:00
nobu
96d7c07e49 * ext/stringio/stringio.c (strio_set_string): disallow nil.
http://www.rubyist.net/~nobu/t/20050811.html#c05


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-13 09:36:12 +00:00
naruse
2bf3c6b631 * ext/nkf/lib/kconv.rb: Kconv.kconv is now alias of Kconv.conv
* ext/nkf/lib/kconv.rb: remove nkf dependend symbols fomr SYMBOL_TO_OPTION


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-12 23:19:58 +00:00
suke
f50c302e77 * ext/win32ole/win32ole.c (WIN32OLE_EVENT#on_event): should set
only one event handler.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-12 12:58:47 +00:00
nobu
c06b78ca92 * ext/stringio/stringio.c: keep holding string after closed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-11 14:29:46 +00:00
nagai
5a0361f84c * ext/tk/lib/tk.rb: fix bug on handling __ruby2val_optkeys().
* ext/tk/lib/tk/itemconfig.rb: fix bug on handling
  __item_ruby2val_optkeys().
* ext/tk/lib/tk/canvas.rb: didn't check __item_ruby2val_optkeys().
* ext/tk/lib/tkextlib/blt/component.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-10 01:32:44 +00:00
nagai
c1566b7490 * ext/tk/tcltklib.c: remove dangerous 'rb_jump_tag's.
* ext/tk/lib/tk.rb: add __val2ruby_optkeys and __ruby2val_optkeys to
  help to convert option values between ruby and tcl.
* ext/tk/lib/tk/itemconfig.rb: add __item_val2ruby_optkeys and
  __item_ruby2val_optkeys to help to convert option values between
  ruby and tcl.
* ext/tk/lib/tk/radiobutton.rb: use __ruby2val_optkeys for 'variable'
  option (for the reason of backward compatibility).
* ext/tk/lib/tk/composite.rb: clarify the arguments of super().
* ext/tk/lib/tk/spinbox.rb: ditto.
* ext/tk/lib/tk/text.rb: ditto.
* ext/tk/lib/tk/validation.rb: ditto.
* ext/tk/lib/tkextlib/*: support to treat tkvariable-type
  configure options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-09 06:16:29 +00:00
ocean
e84219391f * ext/tk/tcltklib.c: restored some DUMPs
* ext/tk/tcltklib.c (ip_ruby_cmd): moved rb_ary_new2 because this
  raises exception if argc < 3.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-08 16:18:29 +00:00
gotoyuzo
ec46711668 * ext/openssl/ossl.c (ossl_raise): should use ERR_peek_last_error
to get last error on the current thread. And should report
  if errors are on the stack while OpenSSL.debug is true.

* ext/openssl/ossl.c (ossl_get_errors): new method for debugging
  this library.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-07 20:21:40 +00:00
ocean
8eb3323a69 * ext/tk/tcltklib.c: combined tcl_protect and tcl_check_result.
[ruby-dev:26753]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-06 16:27:12 +00:00
ocean
58d86a2035 * ext/tk/lib/{tk.rb,tk/itemconfig.rb}: configure creates
TkVariable if key name is 'variable' or 'textvariable'
  by default. [ruby-dev:26749]

* ext/tk/lib/tk/{label,radiobutton}.rb: removed its own
  {variable,textvariable} function.

* ext/tk/lib/tk/variable.rb: retains backward conpatibility.

(written by Hidetoshi NAGAI)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-06 03:44:00 +00:00
ocean
d9498f743b * ext/tk/tcltklib.c: rectoring - tcl_protect.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 11:22:51 +00:00
ocean
993ad912a2 * ext/tk/tcltklib.c: refactoring - extracted status check as function.
(tcl_check_result) ... previous commit is actually "extracted protect call"


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 09:20:13 +00:00
ocean
a39d6b1f80 * ext/tk/tcltklib.c: refactoring - extracted status check as function. (tcl_protect)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 08:12:53 +00:00
ocean
74d91a4c31 * ext/tk/tcltklib.c: fixed memory leak when tk_funcall raised
exception. (copies argv into heap in tk_funcall instead of
  caller)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-05 03:51:50 +00:00
ocean
6c8633ab99 * ext/tk/tcltklib.c: refactoring - extract ruby string <->
tcl object conversion as get_str_from_obj and get_obj_from_str.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 15:26:05 +00:00
nobu
7c2dad9c1f * extmk.rb (extmake): needs to be wrapped in an Array.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 15:20:10 +00:00
nagai
c9ec812897 * ext/tk/tcltklib.c: cannot compile for Tcl7.6/Tk4.2.
* ext/tk/tcltklib.c: add nativethread consistency check.
* ext/tk/stubs.c: ditto.
* ext/tk/lib/tk.rb: forgot to define TclTkIp.encoding and encoding=
  when Tcl is 7.6 or 8.0.
* ext/tk/lib/tk/wm.rb: support to make some methods as options of
  root or toplevel widget. [ruby-talk:150336]
* ext/tk/lib/tk/root.rb: ditto.
* ext/tk/lib/tk/toplevel.rb: ditto.
* ext/tk/lib/tkextlib/SUPPRT_STATUS: update RELEASE_DATE


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 09:41:57 +00:00
ocean
85eadbbf8c reverted. [ruby-dev:26726]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 05:04:53 +00:00
ocean
a6c074a47a just fixed indentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:54:08 +00:00
ocean
7b1bdb68e9 * ext/tk/sample/tkextlib/tile/demo.rb: followed previous changes.
* ext/tk/lib/tkextlib/tile/t*.rb: aliased class names starting with 'T'
  to non 'T' ones. (ie. Tk::Tile::TButton -> Tk::Tile::Button)
  [ruby-dev:26724]

* ext/tk/lib/tkextlib/tile.rb: ditto. (autoload support)

(Written by Hidetoshi NAGAI)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:48:13 +00:00
ocean
a767a76ad1 * ext/tk/sample/tkextlib/tile/demo.rb: fixed: Tk::Tile::TProgressbar is
supported on tile 0.6 or later, not tile 0.5.

* ext/tk/sample/tkextlib/tile/demo.rb: updated scales demo to use
  Tk::Tile::TProgressbar for tile 0.6 or later.

* ext/tk/sample/tkextlib/tile/demo.rb: set some TkVariable default values.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-04 04:16:27 +00:00
nobu
b7f6c8989a * ext/extmk.rb (extmake): should not modify $mflags for each
extentions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8903 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-08-03 23:04:16 +00:00