ISO C++ forbids variable-size array ‘iov’

This pull request addresses the following.

```
[Thu 13/04/11 21:39 EST][s001][x86_64/darwin12.2.0/12.3.0][5.0.2]
<paj@vetinari:~>
zsh 212 % gem install eventmachine
Building native extensions.  This could take a while...
ERROR:  Error installing eventmachine:
        ERROR: Failed to build gem native extension.

        /Users/paj/.rbenv/versions/1.9.3-p392/bin/ruby extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... yes
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
creating Makefile

make
compiling binder.cpp
In file included from /Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby.h:32,
                 from em.h:24,
                 from project.h:150,
                 from binder.cpp:20:
/Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby/ruby.h:1108: warning: ‘void rb_global_variable(VALUE*)’ hides constructor for ‘struct rb_global_variable’
In file included from project.h:151,
                 from binder.cpp:20:
ed.h:72: warning: unused parameter ‘privkey_filename’
ed.h:72: warning: unused parameter ‘certchain_filename’
ed.h:72: warning: unused parameter ‘verify_peer’
ed.h:79: warning: unused parameter ‘value’
ed.h: In member function ‘void ConnectionDescriptor::OutboundPage::Free()’:
ed.h:218: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void DatagramDescriptor::OutboundPage::Free()’:
ed.h:295: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void PipeDescriptor::OutboundPage::Free()’:
ed.h:357: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
binder.cpp: In static member function ‘static long unsigned int Bindable_t::CreateBinding()’:
binder.cpp:35: warning: suggest a space before ‘;’ or explicit braces around empty body in ‘while’ statement
compiling cmain.cpp
In file included from /Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby.h:32,
                 from em.h:24,
                 from project.h:150,
                 from cmain.cpp:20:
/Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby/ruby.h:1108: warning: ‘void rb_global_variable(VALUE*)’ hides constructor for ‘struct rb_global_variable’
In file included from project.h:151,
                 from cmain.cpp:20:
ed.h:72: warning: unused parameter ‘privkey_filename’
ed.h:72: warning: unused parameter ‘certchain_filename’
ed.h:72: warning: unused parameter ‘verify_peer’
ed.h:79: warning: unused parameter ‘value’
ed.h: In member function ‘void ConnectionDescriptor::OutboundPage::Free()’:
ed.h:218: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void DatagramDescriptor::OutboundPage::Free()’:
ed.h:295: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void PipeDescriptor::OutboundPage::Free()’:
ed.h:357: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
cmain.cpp: At global scope:
cmain.cpp:529: warning: unused parameter ‘binding’
compiling ed.cpp
In file included from /Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby.h:32,
                 from em.h:24,
                 from project.h:150,
                 from ed.cpp:20:
/Users/paj/.rbenv/versions/1.9.3-p392/include/ruby-1.9.1/ruby/ruby.h:1108: warning: ‘void rb_global_variable(VALUE*)’ hides constructor for ‘struct rb_global_variable’
In file included from project.h:151,
                 from ed.cpp:20:
ed.h:72: warning: unused parameter ‘privkey_filename’
ed.h:72: warning: unused parameter ‘certchain_filename’
ed.h:72: warning: unused parameter ‘verify_peer’
ed.h:79: warning: unused parameter ‘value’
ed.h: In member function ‘void ConnectionDescriptor::OutboundPage::Free()’:
ed.h:218: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void DatagramDescriptor::OutboundPage::Free()’:
ed.h:295: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.h: In member function ‘void PipeDescriptor::OutboundPage::Free()’:
ed.h:357: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.cpp: In member function ‘void EventableDescriptor::_GenericInboundDispatch(const char*, int)’:
ed.cpp:303: warning: comparison between signed and unsigned integer expressions
ed.cpp: In member function ‘void ConnectionDescriptor::_WriteOutboundData()’:
ed.cpp:987: error: ISO C++ forbids variable-size array ‘iov’
ed.cpp: In member function ‘virtual void DatagramDescriptor::Write()’:
ed.cpp:1665: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
ed.cpp: In member function ‘int DatagramDescriptor::SendOutboundDatagram(const char*, int, const char*, int)’:
ed.cpp:1774: warning: cast from type ‘const char*’ to type ‘char*’ casts away constness
make: *** [ed.o] Error 1


Gem files will remain installed in /Users/paj/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.3 for inspection.
Results logged to /Users/paj/.rbenv/versions/1.9.3-p392/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.3/ext/gem_make.out
```

No standards-compliant compiler should have allowed this through.