diff options
-rw-r--r-- | ext/dl/lib/dl/struct.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/dl/lib/dl/struct.rb b/ext/dl/lib/dl/struct.rb index 2f54019294..33f303fe22 100644 --- a/ext/dl/lib/dl/struct.rb +++ b/ext/dl/lib/dl/struct.rb @@ -33,7 +33,7 @@ module DL "def #{name}", " v = @ptr[\"#{name}\"]", " if( @len[\"#{name}\"] )", - " v = v.collect{|x| @dec[\"#{name}\"].call(x) if @dec[\"#{name}\"] }", + " v = v.collect{|x| @dec[\"#{name}\"] ? @dec[\"#{name}\"].call(x) : x }", " else", " v = @dec[\"#{name}\"].call(v) if @dec[\"#{name}\"]", " end", @@ -41,7 +41,7 @@ module DL "end", "def #{name}=(v)", " if( @len[\"#{name}\"] )", - " v = v.collect{|x| @enc[\"#{name}\"].call(x) if @enc[\"#{name}\"] }", + " v = v.collect{|x| @enc[\"#{name}\"] ? @enc[\"#{name}\"].call(x) : x }", " else", " v = @enc[\"#{name}\"].call(v) if @enc[\"#{name}\"]", " end", |