1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

30 commits

Author SHA1 Message Date
matz
a7b3a42850 * ext/syck/emitter.c (syck_emitter_write): str bigger than
e->bufsize causes buffer overflow.  [ruby-dev:22307]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-21 15:38:01 +00:00
nobu
faab8f264d * configure.in (ieeefp.h), numeric.c: needed for finite() on
Solaris.  [ruby-core:01921]

* file.c (rb_stat_inspect): adjust format specifier.

* parse.c (arg_prepend): nodetype() is for debug use.

* ruby.h (ISASCII, etc): cast to int to get rid of warning.

* ruby.h (alloca.h): include even in GCC.  [ruby-core:01925]

* ext/bigdecimal/bigdecimal.c (GetVpValue): adjust format
  specifier.

* ext/bigdecimal/bigdecimal.c (BigDecimal_prec, BigDecimal_coerce,
  BigDecimal_divmod): use rb_assoc_new() to suppress memory usage.

* ext/bigdecimal/bigdecimal.c (BigDecimal_split): ditto.

* ext/dl/sym.c (rb_dlsym_guardcall): guard itself should be
  volatile.

* ext/iconv/iconv.c (iconv_convert): ensure actual parameter with
  format specifier.

* ext/pty/pty.c (MasterDevice, SlaveDevice, deviceNo): do not
  define unless used.

* ext/pty/pty.c (getDevice): get rid of warning.

* ext/socket/socket.c (port_str, sock_s_getaddrinfo,
  sock_s_getnameinfo): FIX2INT() now returns long.

* ext/socket/socket.c (init_inetsock_internal): uninitialized
  variable.

* ext/syck/rubyext.c (syck_parser_assign_io): add prototype.

* ext/syck/rubyext.c (rb_syck_mktime, yaml_org_handler): use
  ISDIGIT() instead of isdigit() to avoid warnings and for
  platforms which don't support non-ascii charater.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5163 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-12-11 02:39:59 +00:00
why
bab2e6cfdf * ext/syck/token.c: removed YYTOKTMP references which
were causing buffer overflows on large block scalars,
  comments, quoted scalars and plain scalars.

* ext/syck/rubyext.c: dynamic changing of buffer size.

* ext/syck/syck.h: default buffer size of 4k.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-11-25 19:51:38 +00:00
why
71a8bebf5a * ext/syck/rubyext.c: YAML::Syck::compile method.
* ext/syck/syck.c: Buffer edge bug.

* ext/syck/yaml2byte.c: YAML to bytecode converter.

* ext/syck/bytecode.c: Bytecode parser fixes to empty collections
  and empty strings.

* ext/syck/token.c: Ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-17 20:53:39 +00:00
why
c76c3349e4 * ext/syck/bytecode.c: Checkin of YAML bytecode support.
* ext/syck/gram.c: Ditto.

* ext/syck/syck.c: Ditto.

* ext/syck/token.c: Ditto.

* ext/syck/handler.c: Ditto.

* ext/syck/handler.c: Now using 'tag' rather than 'taguri' in type URIs.

* ext/syck/rubyext.c: Ditto (on both counts).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-14 23:15:19 +00:00
why
df0e9dbe97 * ext/syck/rubyext.c: default keys handled.
* ext/syck/syck.h: lowered default buffer size to 16k for increased
  performance.

* test/yaml: checkin of basic unit tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-10-03 19:51:25 +00:00
why
7cca6c25f0 * ext/syck/rubyext.c: refactoring of the transfer method
dispatch.  added yaml_org_handler for faster dispatch of
  transfers to base types.

* lib/yaml/rubytypes.rb: removed handling of builtins from
  Ruby library.

* ext/syck/token.c: quoted and block scalars are now implicit !str

* ext/syck/implicit.c: empty string detected as !null.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4423 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-21 21:16:58 +00:00
why
360b0a015a * ext/syck/syck.h: Parser definition problems on HP-UX. [ruby-talk:79389]
* ext/syck/handler.c (syck_hdlr_get_anchor): Memory leak.

* ext/syck/syck.s (syck_io_file_read): Bad arguments to fread.

* ext/syck/rubyext.c: Tainting issues.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4414 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-19 16:38:02 +00:00
matz
070fcde39d * ext/syck/rubyext.c (syck_emitter_write_m): forgot to declare
"self", making it default to "int".

* ext/syck/rubyext.c (syck_emitter_simple_write): ditto.

* gc.c (rb_gc): should mark backing store region on IA64.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-08-01 10:57:32 +00:00
why
0a75581a37 * ext/syck/syck.h: Added 'syck' yacc prefixes.
* ext/syck/gram.c: ditto.

* ext/syck/token.c: ditto.

* ext/syck: Added ruby.h reference to source files.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-28 19:27:42 +00:00
why
4d859f926a * ext/syck/emitter.c (syck_emitter_flush): accepts count
of bytes to flush.  anchor offsets now functional.

* ext/syck/syck.h (syck_emitter_flush): ditto.

* ext/syck/rubyext.c: ditto.

* ext/syck/token.c: URI escaping now supported.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-24 16:30:43 +00:00
why
bdfce148a7 * ext/syck/rubyext.c (syck_mark_emitter): forgot to rb_gc_mark the
outgoing IO object.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-14 20:35:07 +00:00
why
a1e257ec48 * ext/syck/emitter.c: new emitter code.
* ext/syck/rubyext.c: Emitter class.

* lib/yaml.rb: Load Syck emitter, if available.

* lib/yaml/stream.rb: ditto.

* lib/yaml/baseemitter.rb: underlying class for all emitters.

* lib/yaml/rubytypes.rb: use BaseEmitter abstraction.

* lib/yaml/emitter.rb: ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-11 22:52:14 +00:00
nobu
a4aa765cb6 *** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-07-04 12:51:42 +00:00
why
d21bd1c06d * ext/syck/rubyext.c (rb_syck_load_handler): merge key implemented.
* ext/syck/rubyext.c (transfer_find_i): removed use of String#=~ in favor
    of Regexp#match.

* lib/yaml.rb: YAML::try_implicit returns.

* lib/yaml/rubytypes.rb: Regexps added for type matching.

* lib/yaml/emitter.rb: fix String + nil error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-18 01:06:00 +00:00
why
ae28f1b6b3 * ext/syck/gram.c: added grammar for certain empty sequence entries.
* ext/syck/handler.c, ext/syck/syck.c, ext/syck/syck.h: track bad anchors.

* ext/syck/token.c: added pause token, tag possible circular references.

* lib/yaml/rubytypes.rb: parsing YMD time as Date instance.

* ext/syck/rubyext.c: ditto. DomainType, PrivateType, BadAlias classes.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-17 16:55:54 +00:00
matz
373a59b95b * lib/irb.rb (IRB::Irb::eval_input): warn and exit if $SAFE >=3
after input evaluation.

* lib/irb.rb (IRB::Irb::eval_input): untaint input string.  now
  irb works for levels 1 and 2.

* ext/syck/rubyext.c (syck_loader_transfer): should not use
  rb_cProc directly, since type_proc may be Proc, Block, or
  Method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-10 05:22:17 +00:00
why
56796022a6 * ext/syck/rubyext.c (syck_parser_mark): was a bit heavy on the GC.
* lib/yaml.rb (YAML::transfer): added.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3912 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 17:42:06 +00:00
why
bd368e9749 * ext/syck/rubyext.c: using GC nodes caused segfault. [ruby-core:1071]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 05:40:03 +00:00
why
017d4ff10a * ext/syck/token.c: directives choked on a period.
* ext/syck/gram.y: anchors work above a collection. [ruby-core:1071]

* ext/syck/handler.c, ext/syck/syck.c: ensure a fresh strtable between
  parser iterations.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-05 04:43:05 +00:00
why
38df1a90cc * ext/syck/rubyext.c (rb_syck_mktime): seconds calculated wrong.
* ext/syck/gram.c: flexibility to anchors and transfer methods on
  collections.

* ext/syck/token.c: hex escapes.

* lib/yaml/basenode.rb: YamlNode references changed to YAML::BaseNode.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3889 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-30 23:09:54 +00:00
why
9780fc27d9 * ext/syck/rubyext.c (rb_syck_err_handler): raise ArgumentError on
malformed YAML.

* lib/yaml/rubytypes.rb: String#to_yaml was missing space indicators at
  the end of a line.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3851 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 06:14:17 +00:00
why
5e1c96af53 * ext/syck/rubyext.c (syck_parser_load): root-level false was returning
nil.

* ext/syck/token.c: root-level transfer method bug.

* ext/syck/gram.c: root-level empty gave a parse error.

* lib/yaml/rubytypes.rb: Symbol#to_yaml generating method call error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-22 05:41:06 +00:00
why
c601cf5318 * lib/gram.c: fixes to one-line documents and end of stream documents.
* lib/syck.c, lib/syck.h: add root_on_error to parser struct, specifying
  the symbol to be returned on a parse error.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 21:46:47 +00:00
why
42fd4ff686 * ext/ruby/ext/syck/rubyext.c, lib/implicit.re: timestamp repairs to
timezone and milliseconds.

* lib/syck.c (syck_parser_reset_levels): duplicate string literal to avoid warning.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-15 07:38:10 +00:00
usa
1b92c12743 * ext/syck/rubyext.c: add prototypes to avoid VC++ warnings.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3793 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-14 10:57:42 +00:00
why
bd810795c5 * lib/yaml/rubytypes.rb: object and struct loading
* lib/yaml.rb: YAML::detect_implicit will discover typing for a Ruby string

* ext/syck/: Fixed portable comments, misuse of NULL and methods without return VALUEs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-13 06:34:18 +00:00
why
e44e2ef2e8 * ext/syck/implicit.c, ext/syck/rubyext.c: transfer methods applied to native loading
* ext/syck/token.c: fix for transfer methods on same indentation as nested mapping

* lib/yaml/rubytypes.rb: all type names in lowercase


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3781 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-11 06:32:13 +00:00
why
4b25d0d2cb * ext/syck/gram.c ext/syck/handler.c ext/syck/implicit.c
ext/syck/node.c ext/syck/rubyext.c ext/syck/syck.c
  ext/syck/syck.h ext/syck/token.c: updated to Syck 0.27

* lib/yaml/loader.rb: new YAML::Loader class

* lib/yaml.rb: loading of type families leverages YAML::DefaultLoader


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-10 19:55:18 +00:00
why
55f4dc4c9a Initial checkin of YAML substances.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-05-09 21:25:50 +00:00