ox 1.8.0 → 1.8.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of ox might be problematic. Click here for more details.

data/README.md CHANGED
@@ -34,15 +34,15 @@ A fast XML parser and Object marshaller as a Ruby gem.
34
34
 
35
35
  ## <a name="release">Release Notes</a>
36
36
 
37
- ### Release 1.8.0
37
+ ### Release 1.8.1
38
38
 
39
- - Added more complete support for processing instructions in both the generic parser and in the sax parser. This change includes and additional sax handler callback for the end of the instruction processing.
39
+ - Fixed bug that caused a crash when an invalid xml with two elements and no <?xml?> was parsed. (issue #28)
40
40
 
41
- ### Release 1.7.1
41
+ - Modified the SAX parser to not strip white space from the start of string content.
42
42
 
43
- - Pulled in sharpyfox's changes to make Ox with with Windows. (issue #24)
43
+ ### Release 1.8.0
44
44
 
45
- - Fixed bug that ignored white space only text elements. (issue #26)
45
+ - Added more complete support for processing instructions in both the generic parser and in the sax parser. This change includes and additional sax handler callback for the end of the instruction processing.
46
46
 
47
47
  ## <a name="description">Description</a>
48
48
 
data/ext/ox/gen_load.c CHANGED
@@ -339,8 +339,12 @@ add_element(PInfo pi, const char *ename, Attr attrs, int hasChildren) {
339
339
 
340
340
  static void
341
341
  end_element(PInfo pi, const char *ename) {
342
- if (0 != pi->h && pi->helpers <= pi->h) {
343
- pi->h--;
342
+ if (0 != pi->h) {
343
+ if (pi->helpers < pi->h) {
344
+ pi->h--;
345
+ } else {
346
+ pi->h = 0;
347
+ }
344
348
  }
345
349
  }
346
350
 
data/ext/ox/sax.c CHANGED
@@ -772,7 +772,8 @@ static int
772
772
  read_text(SaxDrive dr) {
773
773
  char c;
774
774
 
775
- dr->str = dr->cur - 1; /* mark the start */
775
+ /* start marked in read_children */
776
+ /*dr->str = dr->cur - 1; / * mark the start */
776
777
  while ('<' != (c = sax_drive_get(dr))) {
777
778
  if ('\0' == c) {
778
779
  sax_drive_error(dr, "invalid format, text terminated unexpectedly", 1);
data/lib/ox/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
2
  module Ox
3
3
  # Current version of the module.
4
- VERSION = '1.8.0'
4
+ VERSION = '1.8.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ox
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.0
4
+ version: 1.8.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-11 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: ! "A fast XML parser and object serializer that uses only standard C
15
15
  lib.\n \nOptimized XML (Ox), as the name implies was written to provide