[SCM] ruby-netcdf branch, master, updated. debian/0.6.5-2-12-g7c52e40
Youhei SASAKI
uwabami at gfd-dennou.org
Thu Jun 14 10:05:22 UTC 2012
The following commit has been merged in the master branch:
commit 7c52e405708addcfcba77aeca83dc2d15db77325
Author: Youhei SASAKI <uwabami at gfd-dennou.org>
Date: Tue Jun 12 18:28:34 2012 +0900
New patch 0004-Fix-FTBFS-Hardening.patch
Fix FTBFS Hardening
Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>
diff --git a/debian/changelog b/debian/changelog
index 1a78e8f..d5f0049 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,11 +4,13 @@ ruby-netcdf (0.6.6-1) unstable; urgency=low
* Update watch
* Add unapply-patches to debian/sources/local-options
* Update patches: for gbp-pq
- * rename patch 0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch.
- * rename patch 0002-ChangeTestPath.patch.
- * rebuild against new NetCDF packages
+ * Rebuild against new NetCDF packages
+ * New patch 0004-Fix-FTBFS-Hardening.patch (Closes: #676195)
+ - Thanks to Lucas Nussbaum!
+ * Add lintian-overrides for transitonal packages
+ * Add lintian-overrides: hardening-no-fortify-functions
- -- Youhei SASAKI <uwabami at gfd-dennou.org> Wed, 22 Feb 2012 18:06:15 +0900
+ -- Youhei SASAKI <uwabami at gfd-dennou.org> Tue, 12 Jun 2012 18:51:13 +0900
ruby-netcdf (0.6.5-2) unstable; urgency=low
diff --git a/debian/control b/debian/control
index 64e39a5..ad0b72f 100644
--- a/debian/control
+++ b/debian/control
@@ -3,9 +3,9 @@ Section: ruby
Priority: optional
Maintainer: Debian GIS Project <pkg-grass-devel at lists.alioth.debian.org>
Uploaders: Youhei SASAKI <uwabami at gfd-dennou.org>
-Build-Depends: debhelper (>= 7.0.50~ ), gem2deb, libnetcdf-dev, rake,
- ruby-narray, ruby-narray-miss
-Standards-Version: 3.9.2
+Build-Depends: debhelper (>= 7.0.50~ ), gem2deb, rake,
+ ruby-narray, ruby-narray-miss, libnetcdf-dev,
+Standards-Version: 3.9.3
DM-Upload-Allowed: yes
XS-Ruby-Versions: all
Vcs-Git: git://git.debian.org/pkg-grass/ruby-netcdf.git
@@ -17,11 +17,12 @@ Architecture: any
XB-Ruby-Versions: ${ruby:Versions}
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby-narray, ruby-narray-miss
Replaces: netcdf-ruby (<< 0.6.5-2~), netcdf-ruby1.8 (<< 0.6.5-2~), netcdf-ruby1.9.1 (<< 0.6.5-2~)
-Conflicts: netcdf-ruby (<< 0.6.5-2~), netcdf-ruby1.8 (<< 0.6.5-2~), netcdf-ruby1.9.1 (<< 0.6.5-2~)
+Breaks: netcdf-ruby (<< 0.6.5-2~), netcdf-ruby1.8 (<< 0.6.5-2~), netcdf-ruby1.9.1 (<< 0.6.5-2~)
Provides: netcdf-ruby, netcdf-ruby1.8, netcdf-ruby1.9.1
Description: Ruby interface of netCDF library
- RubyNetCDF is a Ruby interface of netCDF library built on the NArray library,
- which is an efficient multi-dimensional numeric array class for Ruby.
+ RubyNetCDF is a Ruby interface of netCDF library built on the NArray
+ library, which is an efficient multi-dimensional numeric array class
+ for Ruby.
Package: ruby-netcdf-dbg
Architecture: any
@@ -29,11 +30,12 @@ Section: debug
Priority: extra
Depends: ruby-netcdf ( =${binary:Version}), ${misc:Depends}
Replaces: netcdf-ruby1.8-dbg (<< 0.6.5-2~), netcdf-ruby1.9.1-dbg (<< 0.6.5-2~)
-Conflicts: netcdf-ruby1.8-dbg (<< 0.6.5-2~), netcdf-ruby1.9.1-dbg (<< 0.6.5-2~)
+Breaks: netcdf-ruby1.8-dbg (<< 0.6.5-2~), netcdf-ruby1.9.1-dbg (<< 0.6.5-2~)
Provides: netcdf-ruby, netcdf-ruby1.8, netcdf-ruby1.9.1
-Description: Ruby interface of netCDF library
- RubyNetCDF is a Ruby interface of netCDF library built on the NArray library,
- which is an efficient multi-dimensional numeric array class for Ruby.
+Description: Ruby-NetCDF debug symbols
+ RubyNetCDF is a Ruby interface of netCDF library built on the NArray
+ library, which is an efficient multi-dimensional numeric array class
+ for Ruby.
.
This package is provided primarily to provide a backtrace with names
in a debugger, this makes it somewhat easier to interpret core
@@ -44,7 +46,7 @@ Architecture: all
Section: oldlibs
Priority: extra
Depends: ruby-netcdf, ${misc:Depends}
-Description: Ruby interface of netCDF library
+Description: Transitional package for ruby-netcdf
This is a transitional package to ease upgrades to the ruby-netcdf
package. It can safely be removed.
@@ -53,7 +55,7 @@ Architecture: all
Section: oldlibs
Priority: extra
Depends: ruby-netcdf, ${misc:Depends}
-Description: Ruby interface of netCDF library
+Description: Transitional package for ruby-netcdf
This is a transitional package to ease upgrades to the ruby-netcdf
package. It can safely be removed.
@@ -62,8 +64,8 @@ Architecture: all
Section: oldlibs
Priority: extra
Depends: ruby-netcdf-dbg, ${misc:Depends}
-Description: Ruby interface of netCDF library
- This is a transitional package to ease upgrades to the ruby-netcdf
+Description: Transitional package for ruby-netcdf-dbg
+ This is a transitional package to ease upgrades to the ruby-netcdf-dbg
package. It can safely be removed.
Package: netcdf-ruby1.9.1
@@ -71,7 +73,7 @@ Architecture: all
Section: oldlibs
Priority: extra
Depends: ruby-netcdf, ${misc:Depends}
-Description: Ruby interface of netCDF library
+Description: Transitional package for ruby-netcdf
This is a transitional package to ease upgrades to the ruby-netcdf
package. It can safely be removed.
@@ -80,7 +82,7 @@ Architecture: all
Section: oldlibs
Priority: extra
Depends: ruby-netcdf-dbg, ${misc:Depends}
-Description: Ruby interface of netCDF library
- This is a transitional package to ease upgrades to the ruby-netcdf
+Description: Transitional package for ruby-netcdf-dbg
+ This is a transitional package to ease upgrades to the ruby-netcdf-dbg
package. It can safely be removed.
diff --git a/debian/patches/0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch b/debian/patches/0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch
index faec59c..125fbb4 100644
--- a/debian/patches/0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch
+++ b/debian/patches/0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch
@@ -5,7 +5,7 @@ Subject: Change NArray Directory for Debian's Ruby vendor library location
Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>
---
extconf.rb | 4 ++--
- 1 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/extconf.rb b/extconf.rb
index da90b7c..5e53471 100644
diff --git a/debian/patches/0002-Change-Test-Path-for-running-under-test_runner.rb.patch b/debian/patches/0002-Change-Test-Path-for-running-under-test_runner.rb.patch
index cbc3ad4..510af96 100644
--- a/debian/patches/0002-Change-Test-Path-for-running-under-test_runner.rb.patch
+++ b/debian/patches/0002-Change-Test-Path-for-running-under-test_runner.rb.patch
@@ -5,7 +5,7 @@ Subject: Change Test Path for running under test_runner.rb
Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>
---
test/test.rb | 6 +-----
- 1 files changed, 1 insertions(+), 5 deletions(-)
+ 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/test/test.rb b/test/test.rb
index 7ec59c6..d9714c3 100644
diff --git a/debian/patches/0004-Fix-FTBFS-Hardening.patch b/debian/patches/0004-Fix-FTBFS-Hardening.patch
new file mode 100644
index 0000000..554938f
--- /dev/null
+++ b/debian/patches/0004-Fix-FTBFS-Hardening.patch
@@ -0,0 +1,2024 @@
+From: Youhei SASAKI <uwabami at gfd-dennou.org>
+Date: Tue, 12 Jun 2012 18:25:08 +0900
+Subject: Fix FTBFS Hardening
+
+Signed-off-by: Youhei SASAKI <uwabami at gfd-dennou.org>
+---
+ ext/numru/netcdfraw.c | 564 ++++++++++++++++++++++++-------------------------
+ 1 file changed, 282 insertions(+), 282 deletions(-)
+
+diff --git a/ext/numru/netcdfraw.c b/ext/numru/netcdfraw.c
+index 9922d19..883212d 100644
+--- a/ext/numru/netcdfraw.c
++++ b/ext/numru/netcdfraw.c
+@@ -193,7 +193,7 @@
+ obj = na_cast_object(obj, NA_SINT); \
+ GetNArray(obj, na); \
+ ptr = (int16_t *) NA_PTR(na,0); \
+-}
++}
+ #define Array_to_Clint(obj, ptr) \
+ { \
+ struct NARRAY *na; \
+@@ -202,8 +202,8 @@
+ ptr = (int32_t *) NA_PTR(na,0); \
+ }
+
+-#define NC_RAISE(status) rb_raise(err_status2class(status),(nc_strerror(status)))
+-#define NC_RAISE2(status, str) rb_raise(err_status2class(status),"%s (%s)",nc_strerror(status),(str) )
++#define NC_RAISE(status) rb_raise(err_status2class(status),(nc_strerror(status)), NULL)
++#define NC_RAISE2(status, str) rb_raise(err_status2class(status),"%s (%s)",nc_strerror(status),(str), NULL )
+
+ static VALUE mNumRu = 0;
+ static VALUE cNetCDF;
+@@ -252,7 +252,7 @@ static VALUE rb_eNetcdfFatal;
+ static VALUE rb_eNetcdfEntool;
+ static VALUE rb_eNetcdfExdr;
+ static VALUE rb_eNetcdfSyserr;
+-
++
+
+ struct Netcdf{
+ int ncid;
+@@ -285,7 +285,7 @@ NetCDF_init(int ncid,char *filename)
+ Netcdffile->ncid=ncid;
+ Netcdffile->closed=0;
+ Netcdffile->name=xmalloc((strlen(filename)+1)*sizeof(char));
+- strcpy(Netcdffile->name,filename);
++ strcpy(Netcdffile->name,filename);
+ return(Netcdffile);
+ }
+
+@@ -317,7 +317,7 @@ NetCDF_att_init(int ncid,int varid,char *attname)
+ Netcdf_att->ncid=ncid;
+ Netcdf_att->varid=varid;
+ Netcdf_att->name=xmalloc((strlen(attname)+1)*sizeof(char));
+- strcpy(Netcdf_att->name,attname);
++ strcpy(Netcdf_att->name,attname);
+ return(Netcdf_att);
+ }
+
+@@ -347,7 +347,7 @@ NetCDF_free(struct Netcdf *Netcdffile)
+ if (!Netcdffile->closed){
+ status = nc_close(Netcdffile->ncid); /* no error check -- not to stop during GC */
+ }
+- free(Netcdffile->name);
++ free(Netcdffile->name);
+ free(Netcdffile);
+ }
+
+@@ -570,7 +570,7 @@ NetCDF_close(file)
+ ncid=Netcdffile->ncid;
+ if(!Netcdffile->closed){
+ status = nc_close(ncid);
+- if(status != NC_NOERR) NC_RAISE(status);
++ if(status != NC_NOERR) NC_RAISE(status);
+ Netcdffile->closed = 1;
+ } else {
+ rb_warn("file %s is already closed", Netcdffile->name);
+@@ -589,10 +589,10 @@ NetCDF_def_dim(VALUE file,VALUE dim_name,VALUE length)
+ struct Netcdf *Netcdffile;
+ struct NetCDFDim *Netcdf_dim;
+ VALUE Dimension;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(file,struct Netcdf,Netcdffile);
+-
++
+ Check_Type(dim_name,T_STRING);
+ c_dim_name=RSTRING_PTR(dim_name);
+ c_length=NUM2UINT(length);
+@@ -683,19 +683,19 @@ NetCDF_put_att_numeric(int ncid, char *name,VALUE value,VALUE atttype, int varid
+ len = na_val->total;
+ ptr = na_val->ptr;
+ switch(na_typecode){
+- case NA_BYTE:
++ case NA_BYTE:
+ status = nc_put_att_uchar(ncid,varid,name,NC_BYTE,len,(unsigned char *)ptr);
+ break;
+- case NA_SINT:
++ case NA_SINT:
+ status = nc_put_att_short(ncid,varid,name,NC_SHORT,len,(short *)ptr);
+ break;
+- case NA_LINT:
++ case NA_LINT:
+ status = nc_put_att_int(ncid,varid,name,NC_INT,len,(int *)ptr);
+ break;
+- case NA_SFLOAT:
++ case NA_SFLOAT:
+ status = nc_put_att_float(ncid,varid,name,NC_FLOAT,len,(float *)ptr);
+ break;
+- case NA_DFLOAT:
++ case NA_DFLOAT:
+ status = nc_put_att_double(ncid,varid,name,NC_DOUBLE,len,(double*)ptr);
+ break;
+ default:
+@@ -784,14 +784,14 @@ NetCDF_def_var(VALUE file,VALUE var_name,VALUE vartype,VALUE dimensions)
+
+ c_var_name=RSTRING_PTR(var_name);
+ c_ndims=RARRAY_LEN(dimensions);
+-
++
+ Data_Get_Struct(file,struct Netcdf,Netcdffile);
+ ncid=Netcdffile->ncid;
+
+ if (TYPE(vartype) == T_STRING){
+- xtype = natype2nctype(RSTRING_PTR(vartype));
++ xtype = natype2nctype(RSTRING_PTR(vartype));
+ } else if (TYPE(vartype) == T_FIXNUM){
+- xtype = natypecode2nctype(NUM2INT(vartype));
++ xtype = natypecode2nctype(NUM2INT(vartype));
+ } else {
+ rb_raise(rb_eNetcdfError,
+ "type specfication must be by a string or nil");
+@@ -814,12 +814,12 @@ NetCDF_def_var(VALUE file,VALUE var_name,VALUE vartype,VALUE dimensions)
+ rb_raise(rb_eNetcdfError, "No such object of the netCDF dimension class.");
+ }
+ }
+-
++
+ status = nc_def_var(ncid,c_var_name,xtype,c_ndims,c_dimids,&varidp);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Netcdf_var = NetCDF_var_init(ncid,varidp,file);
+-
++
+ Var=Data_Wrap_Struct(cNetCDFVar,nc_mark_obj,NetCDF_var_free,Netcdf_var);
+ return Var;
+ }
+@@ -840,10 +840,10 @@ NetCDF_dim(VALUE file,VALUE dim_name)
+ ncid=Netcdffile->ncid;
+ Check_Type(dim_name,T_STRING);
+ c_dim_name=RSTRING_PTR(dim_name);
+-
++
+ status = nc_inq_dimid(ncid,c_dim_name,&dimidp);
+ if(status !=NC_NOERR){
+- if(status == NC_EBADDIM){
++ if(status == NC_EBADDIM){
+ return(Qnil); /*2003/08/27 back to orig (from changes on 2003/02/03)*/
+ } else{
+ NC_RAISE(status);
+@@ -851,14 +851,14 @@ NetCDF_dim(VALUE file,VALUE dim_name)
+ }
+
+ Netcdf_dim=NetCDF_dim_init(ncid,dimidp);
+-
++
+ Dimension = Data_Wrap_Struct(cNetCDFDim,0,NetCDF_dim_free,Netcdf_dim);
+ return Dimension;
+ }
+
+-VALUE
++VALUE
+ NetCDF_var(VALUE file,VALUE var_name)
+-{
++{
+ int ncid;
+ int status;
+ int varidp;
+@@ -871,16 +871,16 @@ NetCDF_var(VALUE file,VALUE var_name)
+ ncid=Netcdffile->ncid;
+ Check_Type(var_name,T_STRING);
+ c_var_name=RSTRING_PTR(var_name);
+-
++
+ status=nc_inq_varid(ncid,c_var_name,&varidp);
+ if(status != NC_NOERR){
+ if(status == NC_ENOTVAR){
+ return(Qnil); /*2003/08/27 back to orig (from changes on 2003/02/03)*/
+- } else{
++ } else{
+ NC_RAISE(status);
+ }
+ }
+-
++
+ Netcdf_var = NetCDF_var_init(ncid,varidp,file);
+ Variable = Data_Wrap_Struct(cNetCDFVar,nc_mark_obj,NetCDF_var_free,Netcdf_var);
+ return Variable;
+@@ -901,7 +901,7 @@ NetCDF_att(VALUE file,VALUE att_name)
+ ncid=Netcdffile->ncid;
+ Check_Type(att_name,T_STRING);
+ c_att_name=RSTRING_PTR(att_name);
+-
++
+
+ status = nc_inq_attid(ncid,NC_GLOBAL,c_att_name,&attnump);
+ if(status != NC_NOERR){
+@@ -912,11 +912,11 @@ NetCDF_att(VALUE file,VALUE att_name)
+ NC_RAISE(status);
+ }
+ }
+-
++
+ Netcdf_att = NetCDF_att_init(ncid,NC_GLOBAL,c_att_name);
+-
++
+ Attribute = Data_Wrap_Struct(cNetCDFAtt,0,Netcdf_att_free,Netcdf_att);
+-
++
+ return Attribute;
+ }
+ VALUE
+@@ -926,7 +926,7 @@ NetCDF_fill(VALUE file,VALUE mode)
+ int status;
+ struct Netcdf *Netcdffile;
+ int old_modep;
+-
++
+ Data_Get_Struct(file,struct Netcdf,Netcdffile);
+ ncid = Netcdffile->ncid;
+ if(mode==Qfalse){
+@@ -964,7 +964,7 @@ NetCDF_redef(VALUE file)
+ return Qtrue;
+ }
+
+-VALUE
++VALUE
+ NetCDF_enddef(VALUE file)
+ {
+ int ncid;
+@@ -975,7 +975,7 @@ NetCDF_enddef(VALUE file)
+ Data_Get_Struct(file,struct Netcdf,Netcdffile);
+ ncid=Netcdffile->ncid;
+ status = nc_enddef(ncid);
+- if(status !=NC_NOERR){
++ if(status !=NC_NOERR){
+ if(status == NC_ENOTINDEFINE){
+ return Qnil;
+ }
+@@ -986,7 +986,7 @@ NetCDF_enddef(VALUE file)
+ return Qtrue;
+ }
+
+-VALUE
++VALUE
+ NetCDF_whether_in_define_mode(VALUE file)
+ {
+ /* returns true if the NetCDF object is currently in the define mode,
+@@ -1018,7 +1018,7 @@ NetCDF_whether_in_define_mode(VALUE file)
+ }
+
+ VALUE
+-NetCDF_open(VALUE mod,VALUE filename,VALUE omode)
++NetCDF_open(VALUE mod,VALUE filename,VALUE omode)
+ {
+ int status;
+ int ncid;
+@@ -1032,7 +1032,7 @@ NetCDF_open(VALUE mod,VALUE filename,VALUE omode)
+ c_filename=RSTRING_PTR(filename);
+ Check_Type(omode,T_FIXNUM);
+ c_omode=NUM2INT(omode);
+-
++
+ status = nc_open(c_filename,c_omode,&ncid);
+ if(status !=NC_NOERR){NC_RAISE2(status,c_filename);}
+
+@@ -1049,13 +1049,13 @@ NetCDF_create(VALUE mod,VALUE filename,VALUE cmode)
+ char* c_filename;
+ int c_cmode;
+ struct Netcdf *ncfile;
+-
++
+ Check_Type(filename,T_STRING);
+ SafeStringValue(filename);
+ c_filename=RSTRING_PTR(filename);
+ Check_Type(cmode,T_FIXNUM);
+ c_cmode=NUM2INT(cmode);
+-
++
+ status = nc_create(c_filename,c_cmode,&ncid);
+ if(status != NC_NOERR) NC_RAISE2(status, c_filename);
+
+@@ -1063,7 +1063,7 @@ NetCDF_create(VALUE mod,VALUE filename,VALUE cmode)
+ return( Data_Wrap_Struct(cNetCDF,0,NetCDF_free,ncfile) );
+ }
+
+-VALUE
++VALUE
+ NetCDF_ndims(VALUE file)
+ {
+ int ncid;
+@@ -1080,7 +1080,7 @@ NetCDF_ndims(VALUE file)
+ return Integer;
+ }
+
+-VALUE
++VALUE
+ NetCDF_nvars(VALUE file)
+ {
+ int ncid;
+@@ -1096,7 +1096,7 @@ NetCDF_nvars(VALUE file)
+ return Integer;
+ }
+
+-VALUE
++VALUE
+ NetCDF_natts(VALUE file)
+ {
+ int ncid;
+@@ -1127,10 +1127,10 @@ NetCDF_unlimited(VALUE file)
+ ncid=ncfile->ncid;
+ status=nc_inq_unlimdim(ncid,&unlimdimidp);
+ if(status !=NC_NOERR) NC_RAISE(status);
+-
++
+ Netcdf_dim = NetCDF_dim_init(ncid,unlimdimidp);
+-
+- /* If unlimdimidp=-1,No unlimited dimension is defined in the netCDF dataset */
++
++ /* If unlimdimidp=-1,No unlimited dimension is defined in the netCDF dataset */
+ if(unlimdimidp != -1)
+ {
+ Dimension = Data_Wrap_Struct(cNetCDFDim,0,NetCDF_dim_free,Netcdf_dim);
+@@ -1141,7 +1141,7 @@ NetCDF_unlimited(VALUE file)
+ return Qnil;
+ }
+ }
+-
++
+ VALUE
+ NetCDF_sync(VALUE file)
+ {
+@@ -1162,7 +1162,7 @@ NetCDF_path(VALUE file)
+ {
+ char *path;
+ struct Netcdf *ncfile;
+-
++
+ Data_Get_Struct(file,struct Netcdf,ncfile);
+ path=ncfile->name;
+ return(rb_str_new2(path));
+@@ -1176,14 +1176,14 @@ NetCDF_dim_length(VALUE Dim)
+ int dimid;
+ size_t lengthp;
+ struct NetCDFDim *Netcdf_dim;
+-
++
+ Data_Get_Struct(Dim,struct NetCDFDim,Netcdf_dim);
+ ncid=Netcdf_dim->ncid;
+ dimid=Netcdf_dim->dimid;
+
+ status = nc_inq_dimlen(ncid,dimid,&lengthp);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ return(INT2NUM(lengthp));
+ }
+
+@@ -1195,7 +1195,7 @@ NetCDF_dim_name(VALUE Dim,VALUE dimension_newname)
+ int dimid;
+ char *c_dim_name;
+ struct NetCDFDim *Netcdf_dim;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Dim,struct NetCDFDim,Netcdf_dim);
+ ncid=Netcdf_dim->ncid;
+@@ -1205,7 +1205,7 @@ NetCDF_dim_name(VALUE Dim,VALUE dimension_newname)
+
+ status = nc_rename_dim(ncid,dimid,c_dim_name);
+ if(status !=NC_NOERR) NC_RAISE(status);
+-
++
+ return Qnil;
+ }
+
+@@ -1218,14 +1218,14 @@ NetCDF_dim_inqname(VALUE Dim)
+ char c_dim_name[NC_MAX_NAME];
+ struct NetCDFDim *Netcdf_dim;
+ VALUE str;
+-
++
+ Data_Get_Struct(Dim,struct NetCDFDim,Netcdf_dim);
+ ncid=Netcdf_dim->ncid;
+ dimid=Netcdf_dim->dimid;
+-
++
+ status = nc_inq_dimname(ncid,dimid,c_dim_name);
+ if(status !=NC_NOERR) NC_RAISE(status);
+-
++
+ str = rb_str_new2(c_dim_name);
+ OBJ_TAINT(str);
+ return(str);
+@@ -1237,7 +1237,7 @@ NetCDF_dim_whether_unlimited(VALUE Dim)
+ int status;
+ int uldid;
+ struct NetCDFDim *Netcdf_dim;
+-
++
+ Data_Get_Struct(Dim,struct NetCDFDim,Netcdf_dim);
+ status=nc_inq_unlimdim(Netcdf_dim->ncid,&uldid);
+ if(status !=NC_NOERR) NC_RAISE(status);
+@@ -1257,7 +1257,7 @@ NetCDF_att_inq_name(VALUE Att)
+
+ Data_Get_Struct(Att,struct NetCDFAtt,Netcdf_att);
+ c_att_name=Netcdf_att->name;
+-
++
+ str = rb_str_new2(c_att_name);
+ OBJ_TAINT(str);
+ return(str);
+@@ -1275,16 +1275,16 @@ NetCDF_att_rename(VALUE Att,VALUE new_att_name)
+ Data_Get_Struct(Att,struct NetCDFAtt,Netcdf_att);
+ ncid=Netcdf_att->ncid;
+ varid=Netcdf_att->varid;
+-
++
+ c_att_name=Netcdf_att->name;
+-
++
+ Check_Type(new_att_name,T_STRING);
+ SafeStringValue(new_att_name);
+ c_new_att_name=StringValueCStr(new_att_name);
+-
++
+ status = nc_rename_att(ncid,varid,c_att_name,c_new_att_name);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ strcpy(Netcdf_att->name,c_new_att_name);
+ return Qnil;
+ }
+@@ -1315,7 +1315,7 @@ NetCDF_id2var(VALUE file,VALUE varid)
+ struct Netcdf *ncfile;
+ struct NetCDFVar *Netcdf_var;
+ VALUE Var;
+-
++
+ Data_Get_Struct(file,struct Netcdf,ncfile);
+ ncid=ncfile->ncid;
+ Check_Type(varid,T_FIXNUM);
+@@ -1337,7 +1337,7 @@ NetCDF_id2att(VALUE file,VALUE attnum)
+ char *c_att_name;
+ VALUE Att;
+ c_att_name=ALLOCA_N(char,NC_MAX_NAME);
+-
++
+ Data_Get_Struct(file,struct Netcdf,ncfile);
+ ncid=ncfile->ncid;
+
+@@ -1365,7 +1365,7 @@ NetCDF_var_id2att(VALUE Var,VALUE attnum)
+ struct NetCDFAtt *Netcdf_att;
+ char *c_att_name;
+ VALUE Att;
+-
++
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+ c_varid=Netcdf_var->varid;
+@@ -1377,7 +1377,7 @@ NetCDF_var_id2att(VALUE Var,VALUE attnum)
+
+ status = nc_inq_attname(ncid,c_varid,c_attnum,c_att_name);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Netcdf_att=NetCDF_att_init(ncid,c_varid,c_att_name);
+ Att=Data_Wrap_Struct(cNetCDFAtt,0,Netcdf_att_free,Netcdf_att);
+ return(Att);
+@@ -1402,7 +1402,7 @@ NetCDF_var_dims(VALUE Var)
+ Dims = rb_ary_new();
+ for(i=0;i<ndims;i++){
+ Netcdf_dim = NetCDF_dim_init(ncid,dimids[ndims-1-i]);
+- rb_ary_push(Dims,
++ rb_ary_push(Dims,
+ Data_Wrap_Struct(cNetCDFDim,0,NetCDF_dim_free,Netcdf_dim));
+ }
+ return(Dims);
+@@ -1492,7 +1492,7 @@ NetCDF_att_atttype(VALUE Att)
+ Attname = nctype2natype(xtypep);
+ return(rb_str_new2(Attname));
+ }
+-
++
+ VALUE
+ NetCDF_att_typecode(VALUE Att)
+ {
+@@ -1510,10 +1510,10 @@ NetCDF_att_typecode(VALUE Att)
+
+ status = nc_inq_atttype(ncid,varid,att_name,&xtypep);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ return(INT2NUM(nctype2natypecode(xtypep)));
+ }
+-
++
+ VALUE
+ NetCDF_att_delete(VALUE Att)
+ {
+@@ -1532,7 +1532,7 @@ NetCDF_att_delete(VALUE Att)
+
+ status = nc_del_att(ncid,varid,c_att_name);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ return Qnil;
+ }
+
+@@ -1544,13 +1544,13 @@ NetCDF_att_put(VALUE Att,VALUE value,VALUE atttype)
+ */
+ {
+ struct NetCDFAtt *ncatt;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Att,struct NetCDFAtt,ncatt);
+- return( NetCDF_put_att__(ncatt->ncid, ncatt->name, value,
++ return( NetCDF_put_att__(ncatt->ncid, ncatt->name, value,
+ atttype, ncatt->varid) );
+ }
+-
++
+ VALUE
+ NetCDF_att_get(VALUE Att)
+ {
+@@ -1597,7 +1597,7 @@ NetCDF_att_get(VALUE Att)
+
+ attlen[0]=lenp;
+ Cbyte_to_NArray(NArray,1,attlen,up);
+-
++
+ status = nc_get_att_uchar(ncid,varid,c_attname,up);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -1610,7 +1610,7 @@ NetCDF_att_get(VALUE Att)
+
+ attlen[0]=lenp;
+ Csint_to_NArray(NArray,1,attlen,sp);
+-
++
+ status = nc_get_att_short(ncid,varid,c_attname,sp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ OBJ_TAINT(NArray);
+@@ -1619,10 +1619,10 @@ NetCDF_att_get(VALUE Att)
+ case NC_INT:
+ status = nc_inq_attlen(ncid,varid,c_attname,&lenp);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ attlen[0]=lenp;
+ Clint_to_NArray(NArray,1,attlen,ip);
+-
++
+ status = nc_get_att_int(ncid,varid,c_attname,ip);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -1635,7 +1635,7 @@ NetCDF_att_get(VALUE Att)
+
+ attlen[0]=lenp;
+ Cfloat_to_NArray(NArray,1,attlen,fp);
+-
++
+ status = nc_get_att_float(ncid,varid,c_attname,fp);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -1648,7 +1648,7 @@ NetCDF_att_get(VALUE Att)
+
+ attlen[0]=lenp;
+ Cdouble_to_NArray(NArray,1,attlen,dp);
+-
++
+ status = nc_get_att_double(ncid,varid,c_attname,dp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ OBJ_TAINT(NArray);
+@@ -1660,7 +1660,7 @@ NetCDF_att_get(VALUE Att)
+ return Qnil;
+ }
+
+-
++
+ VALUE
+ NetCDF_var_inq_name(VALUE Var)
+ {
+@@ -1677,7 +1677,7 @@ NetCDF_var_inq_name(VALUE Var)
+ varid=Netcdf_var->varid;
+ status = nc_inq_varname(ncid,varid,c_var_name);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Var_name=rb_str_new2(c_var_name);
+ OBJ_TAINT(Var_name);
+ return Var_name;
+@@ -1694,7 +1694,7 @@ NetCDF_var_ndims(VALUE Var)
+ VALUE Var_ndims;
+
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+ status = nc_inq_varndims(ncid,varid,&ndimsp);
+@@ -1712,15 +1712,15 @@ NetCDF_var_vartype(VALUE Var)
+ nc_type xtypep;
+ struct NetCDFVar *Netcdf_var;
+ const char *Vartype;
+-
++
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+
+ status = nc_inq_vartype(ncid,varid,&xtypep);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Vartype=nctype2natype(xtypep);
+ return(rb_str_new2(Vartype));
+ }
+@@ -1733,19 +1733,19 @@ NetCDF_var_typecode(VALUE Var)
+ int varid;
+ nc_type xtypep;
+ struct NetCDFVar *Netcdf_var;
+-
++
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+
+ status = nc_inq_vartype(ncid,varid,&xtypep);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ return(INT2NUM(nctype2natypecode(xtypep)));
+ }
+
+-
++
+ VALUE
+ NetCDF_var_natts(VALUE Var)
+ {
+@@ -1755,16 +1755,16 @@ NetCDF_var_natts(VALUE Var)
+ int nattsp;
+ struct NetCDFVar *Netcdf_var;
+ VALUE Var_natts;
+-
++
+
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+-
++
+ status= nc_inq_varnatts(ncid,varid,&nattsp);
+ if(status !=NC_NOERR) NC_RAISE(status);
+-
++
+ Var_natts=INT2FIX(nattsp);
+ return Var_natts;
+ }
+@@ -1775,7 +1775,7 @@ NetCDF_var_file(VALUE Var)
+ struct NetCDFVar *Netcdf_var;
+ /* VALUE file; */
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ return (Netcdf_var->file);
+ }
+
+@@ -1787,7 +1787,7 @@ NetCDF_var_rename(VALUE Var,VALUE var_new_name)
+ int varid;
+ char *c_var_new_name;
+ struct NetCDFVar *Netcdf_var;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -1795,7 +1795,7 @@ NetCDF_var_rename(VALUE Var,VALUE var_new_name)
+
+ Check_Type(var_new_name,T_STRING);
+ c_var_new_name=StringValueCStr(var_new_name);
+-
++
+ status = nc_rename_var(ncid,varid,c_var_new_name);
+ if(status !=NC_NOERR) NC_RAISE(status);
+
+@@ -1815,13 +1815,13 @@ NetCDF_var_att(VALUE Var,VALUE att_name)
+ VALUE Att;
+
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+-
++
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+
+ Check_Type(att_name,T_STRING);
+ c_att_name=StringValueCStr(att_name);
+-
++
+ status = nc_inq_attid(ncid,varid,c_att_name,&c_attnump);
+ if(status == NC_NOERR){
+ Netcdf_att=NetCDF_att_init(ncid,varid,c_att_name);
+@@ -1839,17 +1839,17 @@ NetCDF_var_att(VALUE Var,VALUE att_name)
+
+ /* Redifinition of the "==" and "eql?" methods */
+
+-VALUE
++VALUE
+ NetCDF_eql(VALUE filea,VALUE fileb)
+ {
+ struct Netcdf *ncfilea;
+ struct Netcdf *ncfileb;
+-
++
+ if( rb_obj_is_kind_of(fileb, cNetCDF) ){
+ Data_Get_Struct(filea,struct Netcdf,ncfilea);
+ Data_Get_Struct(fileb,struct Netcdf,ncfileb);
+-
+- if(ncfilea->ncid == ncfileb->ncid &&
++
++ if(ncfilea->ncid == ncfileb->ncid &&
+ strcmp(ncfilea->name,ncfileb->name)==0){
+ return Qtrue;
+ } else {
+@@ -1865,12 +1865,12 @@ NetCDF_var_eql(VALUE Vara,VALUE Varb)
+ {
+ struct NetCDFVar *Netcdf_vara;
+ struct NetCDFVar *Netcdf_varb;
+-
++
+ if( rb_obj_is_kind_of(Varb, cNetCDFVar) ){
+ Data_Get_Struct(Vara,struct NetCDFVar,Netcdf_vara);
+ Data_Get_Struct(Varb,struct NetCDFVar,Netcdf_varb);
+
+- if(Netcdf_vara->ncid == Netcdf_varb->ncid &&
++ if(Netcdf_vara->ncid == Netcdf_varb->ncid &&
+ Netcdf_vara->varid == Netcdf_varb->varid){
+ return Qtrue;
+ } else {
+@@ -1881,7 +1881,7 @@ NetCDF_var_eql(VALUE Vara,VALUE Varb)
+ }
+ }
+
+-VALUE
++VALUE
+ NetCDF_dim_eql(VALUE Dima,VALUE Dimb)
+ {
+ struct NetCDFDim *Netcdf_dima;
+@@ -1890,8 +1890,8 @@ NetCDF_dim_eql(VALUE Dima,VALUE Dimb)
+ if( rb_obj_is_kind_of(Dimb, cNetCDFDim) ){
+ Data_Get_Struct(Dima,struct NetCDFDim,Netcdf_dima);
+ Data_Get_Struct(Dimb,struct NetCDFDim,Netcdf_dimb);
+-
+- if(Netcdf_dima->ncid == Netcdf_dimb->ncid &&
++
++ if(Netcdf_dima->ncid == Netcdf_dimb->ncid &&
+ Netcdf_dima->dimid == Netcdf_dimb->dimid){
+ return Qtrue;
+ } else {
+@@ -1907,16 +1907,16 @@ NetCDF_att_eql(VALUE Atta,VALUE Attb)
+ {
+ struct NetCDFAtt *Netcdf_atta;
+ struct NetCDFAtt *Netcdf_attb;
+-
++
+ if( rb_obj_is_kind_of(Attb, cNetCDFAtt) ){
+ Data_Get_Struct(Atta,struct NetCDFAtt,Netcdf_atta);
+ Data_Get_Struct(Attb,struct NetCDFAtt,Netcdf_attb);
+-
+- if(Netcdf_atta->ncid == Netcdf_atta->ncid &&
+- Netcdf_atta->varid == Netcdf_attb->varid &&
++
++ if(Netcdf_atta->ncid == Netcdf_atta->ncid &&
++ Netcdf_atta->varid == Netcdf_attb->varid &&
+ strcmp(Netcdf_atta->name,Netcdf_attb->name)==0){
+ return Qtrue;
+- } else {
++ } else {
+ return Qfalse;
+ }
+ } else {
+@@ -1961,7 +1961,7 @@ NetCDF_get_var_char(VALUE Var)
+ }
+
+ Cbyte_to_NArray(NArray,ndimsp,shape,ptr);
+-
++
+ status = nc_get_var_text(ncid,varid,(char *)ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2005,7 +2005,7 @@ NetCDF_get_var_byte(VALUE Var)
+ }
+
+ Cbyte_to_NArray(NArray,ndimsp,shape,ptr);
+-
++
+ status = nc_get_var_uchar(ncid,varid,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2049,7 +2049,7 @@ NetCDF_get_var_sint(VALUE Var)
+ }
+
+ Csint_to_NArray(NArray,ndimsp,shape,ptr);
+-
++
+ status = nc_get_var_short(ncid,varid,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2093,7 +2093,7 @@ NetCDF_get_var_int(VALUE Var)
+ }
+
+ Clint_to_NArray(NArray,ndimsp,shape,ptr);
+-
++
+ status = nc_get_var_int(ncid,varid,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2181,7 +2181,7 @@ NetCDF_get_var_double(VALUE Var)
+ }
+
+ Cdouble_to_NArray(NArray,ndimsp,shape,ptr);
+-
++
+ status = nc_get_var_double(ncid,varid,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2189,7 +2189,7 @@ NetCDF_get_var_double(VALUE Var)
+ return NArray;
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_char(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2207,7 +2207,7 @@ NetCDF_get_var1_char(VALUE Var,VALUE start)
+ int nc_tlen=0;
+ VALUE NArray;
+
+-
++
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+@@ -2216,12 +2216,12 @@ NetCDF_get_var1_char(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2234,14 +2234,14 @@ NetCDF_get_var1_char(VALUE Var,VALUE start)
+ l_start += dimlen;
+ }
+ c_start[i]=l_start;
+-
++
+ c_count[i]=1;
+ nc_tlen = 1+nc_tlen;
+ }
+-
+-
+-
+-
++
++
++
++
+ Cbyte_to_NArray(NArray,ndims,c_count,ptr);
+ status = nc_get_var1_text(ncid,varid,c_start,(char *)ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2251,7 +2251,7 @@ NetCDF_get_var1_char(VALUE Var,VALUE start)
+
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_byte(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2269,7 +2269,7 @@ NetCDF_get_var1_byte(VALUE Var,VALUE start)
+ int nc_tlen=0;
+ VALUE NArray;
+
+-
++
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+@@ -2278,12 +2278,12 @@ NetCDF_get_var1_byte(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2296,14 +2296,14 @@ NetCDF_get_var1_byte(VALUE Var,VALUE start)
+ l_start += dimlen;
+ }
+ c_start[i]=l_start;
+-
++
+ c_count[i]=1;
+ nc_tlen = 1+nc_tlen;
+ }
+-
+-
+-
+-
++
++
++
++
+ Cbyte_to_NArray(NArray,ndims,c_count,ptr);
+ status = nc_get_var1_uchar(ncid,varid,c_start,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2313,7 +2313,7 @@ NetCDF_get_var1_byte(VALUE Var,VALUE start)
+
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_sint(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2339,12 +2339,12 @@ NetCDF_get_var1_sint(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2360,9 +2360,9 @@ NetCDF_get_var1_sint(VALUE Var,VALUE start)
+ c_count[i]=1;
+ nc_tlen = nc_tlen+1;
+ }
+-
++
+ Csint_to_NArray(NArray,ndims,c_count,ptr);
+-
++
+ status = nc_get_var1_short(ncid,varid,c_start,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2371,7 +2371,7 @@ NetCDF_get_var1_sint(VALUE Var,VALUE start)
+
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_int(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2397,12 +2397,12 @@ NetCDF_get_var1_int(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2418,9 +2418,9 @@ NetCDF_get_var1_int(VALUE Var,VALUE start)
+ c_count[i]=1;
+ nc_tlen= nc_tlen+1;
+ }
+-
++
+ Clint_to_NArray(NArray,ndims,c_count,ptr);
+-
++
+ status = nc_get_var1_int(ncid,varid,c_start,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2429,7 +2429,7 @@ NetCDF_get_var1_int(VALUE Var,VALUE start)
+
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_float(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2455,12 +2455,12 @@ NetCDF_get_var1_float(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2476,9 +2476,9 @@ NetCDF_get_var1_float(VALUE Var,VALUE start)
+ c_count[i]=1;
+ nc_tlen = nc_tlen+1;
+ }
+-
++
+ Cfloat_to_NArray(NArray,ndims,c_count,ptr);
+-
++
+ status = nc_get_var1_float(ncid,varid,c_start,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2487,7 +2487,7 @@ NetCDF_get_var1_float(VALUE Var,VALUE start)
+
+ }
+
+-VALUE
++VALUE
+ NetCDF_get_var1_double(VALUE Var,VALUE start)
+ {
+ int ncid;
+@@ -2513,12 +2513,12 @@ NetCDF_get_var1_double(VALUE Var,VALUE start)
+ if(ndims == 0) {
+ rb_raise(rb_eNetcdfError,"Cannot specify a subset of a rank-0 scalar\n");
+ }
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+ }
+-
++
+ c_start=ALLOCA_N(size_t,ndims);
+ c_count=ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+@@ -2534,9 +2534,9 @@ NetCDF_get_var1_double(VALUE Var,VALUE start)
+ c_count[i]=1;
+ nc_tlen = nc_tlen+1;
+ }
+-
++
+ Cdouble_to_NArray(NArray,ndims,c_count,ptr);
+-
++
+ status = nc_get_var1_double(ncid,varid,c_start,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2568,7 +2568,7 @@ NetCDF_get_vars_char(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -2578,7 +2578,7 @@ NetCDF_get_vars_char(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -2586,7 +2586,7 @@ NetCDF_get_vars_char(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2642,14 +2642,14 @@ NetCDF_get_vars_char(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ nc_tlen = nc_tlen*c_count[i];
+ }
+
+-
++
+ shape = ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+-
++
+ Cbyte_to_NArray(NArray,ndims,shape,ptr);
+-
++
+ status = nc_get_vars_text(ncid,varid,c_start,c_count,c_stride,(char *)ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2680,7 +2680,7 @@ NetCDF_get_vars_byte(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -2690,7 +2690,7 @@ NetCDF_get_vars_byte(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -2698,7 +2698,7 @@ NetCDF_get_vars_byte(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2754,14 +2754,14 @@ NetCDF_get_vars_byte(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ nc_tlen = nc_tlen*c_count[i];
+ }
+
+-
++
+ shape = ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+-
++
+ Cbyte_to_NArray(NArray,ndims,shape,ptr);
+-
++
+ status = nc_get_vars_uchar(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -2792,7 +2792,7 @@ NetCDF_get_vars_sint(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -2802,7 +2802,7 @@ NetCDF_get_vars_sint(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -2810,7 +2810,7 @@ NetCDF_get_vars_sint(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2862,22 +2862,22 @@ NetCDF_get_vars_sint(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_count[i]=(l_end-c_start[i])/c_stride[i]+1;
+ }
+ }
+-
++
+ for(i=0;i<ndims;i++){
+ nc_tlen = nc_tlen*c_count[i];
+ }
+-
++
+ shape = ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+
+ Csint_to_NArray(NArray,ndims,shape,ptr);
+-
++
+
+ status = nc_get_vars_short(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ OBJ_TAINT(NArray);
+ return NArray;
+ }
+@@ -2905,7 +2905,7 @@ NetCDF_get_vars_int(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -2915,7 +2915,7 @@ NetCDF_get_vars_int(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -2923,7 +2923,7 @@ NetCDF_get_vars_int(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -2979,14 +2979,14 @@ NetCDF_get_vars_int(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ for(i=0;i<ndims;i++){
+ nc_tlen = nc_tlen*c_count[i];
+ }
+-
++
+ shape = ALLOCA_N(int,ndims);
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+
+ Clint_to_NArray(NArray,ndims,shape,ptr);
+-
++
+
+ status = nc_get_vars_int(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3018,7 +3018,7 @@ NetCDF_get_vars_float(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -3028,7 +3028,7 @@ NetCDF_get_vars_float(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -3036,7 +3036,7 @@ NetCDF_get_vars_float(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3088,7 +3088,7 @@ NetCDF_get_vars_float(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_count[i]=(l_end-c_start[i])/c_stride[i]+1;
+ }
+ }
+-
++
+ for(i=0;i<ndims;i++){
+ nc_tlen = nc_tlen*c_count[i];
+ }
+@@ -3097,10 +3097,10 @@ NetCDF_get_vars_float(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+-
++
+ Cfloat_to_NArray(NArray,ndims,shape,ptr);
+-
+-
++
++
+ status = nc_get_vars_float(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -3131,7 +3131,7 @@ NetCDF_get_vars_double(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid = Netcdf_var->ncid;
+ varid = Netcdf_var->varid;
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+ if(ndims == 0) {
+@@ -3141,7 +3141,7 @@ NetCDF_get_vars_double(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims){
+ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+@@ -3149,7 +3149,7 @@ NetCDF_get_vars_double(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_start = ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3201,7 +3201,7 @@ NetCDF_get_vars_double(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ c_count[i]=(l_end-c_start[i])/c_stride[i]+1;
+ }
+ }
+-
++
+ for(i=0;i<ndims;i++){
+ nc_tlen = nc_tlen*c_count[i];
+ }
+@@ -3210,9 +3210,9 @@ NetCDF_get_vars_double(VALUE Var,VALUE start,VALUE end,VALUE stride)
+ for(i=0;i<ndims;i++){
+ shape[ndims-1-i]=c_count[i];
+ }
+-
++
+ Cdouble_to_NArray(NArray,ndims,shape,ptr);
+-
++
+ status = nc_get_vars_double(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+@@ -3242,7 +3242,7 @@ NetCDF_put_var_char(VALUE Var,VALUE NArray)
+ varid=Netcdf_var->varid;
+
+ Array_to_Cbyte_len(NArray,ptr,len);
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndimsp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ for(i=0;i<ndimsp;i++){
+@@ -3287,7 +3287,7 @@ NetCDF_put_var_byte(VALUE Var,VALUE NArray)
+ varid=Netcdf_var->varid;
+
+ Array_to_Cbyte_len(NArray,ptr,len);
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndimsp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ for(i=0;i<ndimsp;i++){
+@@ -3331,7 +3331,7 @@ NetCDF_put_var_short(VALUE Var,VALUE NArray)
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+ Array_to_Csint_len(NArray,ptr,len);
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndimsp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ for(i=0;i<ndimsp;i++){
+@@ -3396,8 +3396,8 @@ NetCDF_put_var_int(VALUE Var,VALUE NArray)
+ if(status != NC_NOERR) NC_RAISE(status);
+ rb_raise(rb_eNetcdfError,"Length of NArray don't equal to length of total array length in the '%s'\n",var_name);
+ }
+-
+-
++
++
+ status = nc_put_var_int(ncid,varid,ptr);
+ if(status !=NC_NOERR) NC_RAISE(status);
+ return Qnil;
+@@ -3418,15 +3418,15 @@ NetCDF_put_var_float(VALUE Var,VALUE NArray)
+ int dimids[NC_MAX_DIMS];
+ size_t lengthp;
+ char *var_name;
+-
+-
++
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+ varid=Netcdf_var->varid;
+
+ Array_to_Cfloat_len(NArray,ptr,len);
+-
++
+ status = nc_inq_varndims(ncid,varid,&ndimsp);
+ if(status != NC_NOERR) NC_RAISE(status);
+ for(i=0;i<ndimsp;i++){
+@@ -3512,7 +3512,7 @@ NetCDF_put_var1_char(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3520,11 +3520,11 @@ NetCDF_put_var1_char(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3533,7 +3533,7 @@ NetCDF_put_var1_char(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3563,7 +3563,7 @@ NetCDF_put_var1_byte(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3571,11 +3571,11 @@ NetCDF_put_var1_byte(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3584,7 +3584,7 @@ NetCDF_put_var1_byte(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3614,7 +3614,7 @@ NetCDF_put_var1_sint(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3622,11 +3622,11 @@ NetCDF_put_var1_sint(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3635,7 +3635,7 @@ NetCDF_put_var1_sint(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3664,7 +3664,7 @@ NetCDF_put_var1_int(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3672,11 +3672,11 @@ NetCDF_put_var1_int(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3685,7 +3685,7 @@ NetCDF_put_var1_int(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3715,7 +3715,7 @@ NetCDF_put_var1_float(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3723,11 +3723,11 @@ NetCDF_put_var1_float(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3736,7 +3736,7 @@ NetCDF_put_var1_float(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3766,7 +3766,7 @@ NetCDF_put_var1_double(VALUE Var,VALUE NArray,VALUE start)
+ int ndims;
+ int *dimids;
+ size_t dimlen;
+-
++
+ rb_secure(4);
+ Data_Get_Struct(Var,struct NetCDFVar,Netcdf_var);
+ ncid=Netcdf_var->ncid;
+@@ -3774,11 +3774,11 @@ NetCDF_put_var1_double(VALUE Var,VALUE NArray,VALUE start)
+ status = nc_inq_varndims(ncid,varid,&ndims);
+ if(status != NC_NOERR) NC_RAISE(status);
+
+-
++
+ dimids = ALLOCA_N(int,ndims);
+ status = nc_inq_vardimid(ncid,varid,dimids);
+ if(status != NC_NOERR) NC_RAISE(status);
+-
++
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) <ndims) {
+ rb_raise(rb_eNetcdfError,"Length of 'start' is too short\n");
+@@ -3787,7 +3787,7 @@ NetCDF_put_var1_double(VALUE Var,VALUE NArray,VALUE start)
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0;i<ndims;i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid,dimids[i],&dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3836,12 +3836,12 @@ NetCDF_put_vars_char(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3849,7 +3849,7 @@ NetCDF_put_vars_char(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -3860,12 +3860,12 @@ NetCDF_put_vars_char(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -3883,7 +3883,7 @@ NetCDF_put_vars_char(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -3900,11 +3900,11 @@ NetCDF_put_vars_char(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ ptr = ALLOCA_N(unsigned char,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "lengh of the array does not agree with that of the subset\n");
+- }
+- }
+-
++ rb_raise(rb_eNetcdfError,
++ "lengh of the array does not agree with that of the subset\n");
++ }
++ }
++
+ status = nc_put_vars_text(ncid,varid,c_start,c_count,c_stride,(char *)ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+ return Qnil;
+@@ -3942,12 +3942,12 @@ NetCDF_put_vars_byte(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -3955,7 +3955,7 @@ NetCDF_put_vars_byte(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -3966,12 +3966,12 @@ NetCDF_put_vars_byte(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -3989,7 +3989,7 @@ NetCDF_put_vars_byte(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -4006,11 +4006,11 @@ NetCDF_put_vars_byte(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ ptr = ALLOCA_N(unsigned char,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "lengh of the array does not agree with that of the subset\n");
+- }
+- }
+-
++ rb_raise(rb_eNetcdfError,
++ "lengh of the array does not agree with that of the subset\n");
++ }
++ }
++
+ status = nc_put_vars_uchar(ncid,varid,c_start,c_count,c_stride,ptr);
+ if(status != NC_NOERR) NC_RAISE(status);
+ return Qnil;
+@@ -4048,12 +4048,12 @@ NetCDF_put_vars_sint(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -4061,7 +4061,7 @@ NetCDF_put_vars_sint(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -4072,12 +4072,12 @@ NetCDF_put_vars_sint(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -4095,7 +4095,7 @@ NetCDF_put_vars_sint(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -4112,8 +4112,8 @@ NetCDF_put_vars_sint(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ ptr = ALLOCA_N(short,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "lengh of the array does not agree with that of the subset\n");
++ rb_raise(rb_eNetcdfError,
++ "lengh of the array does not agree with that of the subset\n");
+ }
+ }
+
+@@ -4155,12 +4155,12 @@ NetCDF_put_vars_int(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -4168,7 +4168,7 @@ NetCDF_put_vars_int(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -4179,12 +4179,12 @@ NetCDF_put_vars_int(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -4202,7 +4202,7 @@ NetCDF_put_vars_int(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -4219,8 +4219,8 @@ NetCDF_put_vars_int(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ ptr = ALLOCA_N(int,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "length of the array does not agree with that of the subset\n");
++ rb_raise(rb_eNetcdfError,
++ "length of the array does not agree with that of the subset\n");
+ }
+ }
+
+@@ -4262,12 +4262,12 @@ NetCDF_put_vars_float(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -4275,7 +4275,7 @@ NetCDF_put_vars_float(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -4286,12 +4286,12 @@ NetCDF_put_vars_float(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -4309,7 +4309,7 @@ NetCDF_put_vars_float(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -4326,8 +4326,8 @@ NetCDF_put_vars_float(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride)
+ ptr = ALLOCA_N(float,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "lengh of the array does not agree with that of the subset\n");
++ rb_raise(rb_eNetcdfError,
++ "lengh of the array does not agree with that of the subset\n");
+ }
+ }
+
+@@ -4369,12 +4369,12 @@ NetCDF_put_vars_double(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride
+
+ Check_Type(start,T_ARRAY);
+ if(RARRAY_LEN(start) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'start' is too short\n");
+ }
+ c_start=ALLOCA_N(size_t,ndims);
+ for(i=0; i<ndims; i++){
+ l_start=NUM2INT(RARRAY_PTR(start)[ndims-1-i]);
+-
++
+ if(l_start < 0) {
+ status = nc_inq_dimlen(ncid, dimids[i], &dimlen);
+ if(status != NC_NOERR) NC_RAISE(status);
+@@ -4382,7 +4382,7 @@ NetCDF_put_vars_double(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride
+ }
+ c_start[i]=l_start;
+ }
+-
++
+ c_stride=ALLOCA_N(ptrdiff_t,ndims);
+ switch(TYPE(stride)){
+ case T_NIL:
+@@ -4393,12 +4393,12 @@ NetCDF_put_vars_double(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride
+ default:
+ Check_Type(stride,T_ARRAY);
+ if(RARRAY_LEN(stride) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'stride' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ c_stride[i]=NUM2INT(RARRAY_PTR(stride)[ndims-1-i]);
+ if(c_stride[i]==0) {
+- rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
++ rb_raise(rb_eNetcdfError, "stride cannot be zero\n");
+ }
+ }
+ }
+@@ -4416,7 +4416,7 @@ NetCDF_put_vars_double(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride
+ default:
+ Check_Type(end,T_ARRAY);
+ if(RARRAY_LEN(end) < ndims) {
+- rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
++ rb_raise(rb_eNetcdfError, "Length of 'end' is too short\n");
+ }
+ for(i=0; i<ndims; i++){
+ l_end=NUM2INT(RARRAY_PTR(end)[ndims-1-i]);
+@@ -4433,8 +4433,8 @@ NetCDF_put_vars_double(VALUE Var,VALUE NArray,VALUE start,VALUE end,VALUE stride
+ ptr = ALLOCA_N(double,c_count_all);
+ for(i=0;i<c_count_all;i++){ptr[i]=scalar;}
+ } else if(len != c_count_all) {
+- rb_raise(rb_eNetcdfError,
+- "lengh of the array does not agree with that of the subset\n");
++ rb_raise(rb_eNetcdfError,
++ "lengh of the array does not agree with that of the subset\n");
+ }
+ }
+
+@@ -4482,7 +4482,7 @@ Init_netcdfraw(void)
+ rb_eNetcdfEdge = rb_define_class("NetcdfEdge",rb_eNetcdfError);
+ rb_eNetcdfStride = rb_define_class("NetcdfStride",rb_eNetcdfError);
+ rb_eNetcdfBadname = rb_define_class("NetcdfBadname",rb_eNetcdfError);
+- /* N.B. following must match value in ncx.h */
++ /* N.B. following must match value in ncx.h */
+ rb_eNetcdfRange = rb_define_class("NetcdfRange",rb_eNetcdfError);
+ rb_eNetcdfNomem = rb_define_class("NetcdfNomem",rb_eNetcdfError);
+ /* Global error status */
+@@ -4525,7 +4525,7 @@ Init_netcdfraw(void)
+ rb_define_private_method(cNetCDF,"id2var",NetCDF_id2var,1);
+ rb_define_private_method(cNetCDF,"id2dim",NetCDF_id2dim,1);
+ rb_define_private_method(cNetCDF,"id2att",NetCDF_id2att,1);
+- rb_define_method(cNetCDF,"==",NetCDF_eql,1);
++ rb_define_method(cNetCDF,"==",NetCDF_eql,1);
+ /* rb_define_method(cNetCDF,"eql?",NetCDF_eql,1); */
+
+ /* The methods of the NetCDFDim class */
+@@ -4597,7 +4597,7 @@ Init_netcdfraw(void)
+ rb_define_method(cNetCDFVar,"get_var_int",NetCDF_get_var_int,0);
+ rb_define_method(cNetCDFVar,"get_var_sfloat",NetCDF_get_var_float,0);
+ rb_define_method(cNetCDFVar,"get_var_float",NetCDF_get_var_double,0);
+-
++
+ rb_define_method(cNetCDFVar,"get_vars_char",NetCDF_get_vars_char,3);
+ rb_define_method(cNetCDFVar,"get_vars_byte",NetCDF_get_vars_byte,3);
+ rb_define_method(cNetCDFVar,"get_vars_sint",NetCDF_get_vars_sint,3);
diff --git a/debian/patches/series b/debian/patches/series
index 2ffbb13..7b84b25 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
0001-Change-NArray-Directory-for-Debian-s-Ruby-vendor-lib.patch
0002-Change-Test-Path-for-running-under-test_runner.rb.patch
0003-Update-directory-structure-suitable-for-Rubygems-Sty.patch
+0004-Fix-FTBFS-Hardening.patch
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..0c9198c
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,6 @@
+ruby-netcdf source: duplicate-short-description netcdf-ruby netcdf-ruby1.8 netcdf-ruby1.9.1
+ruby-netcdf source: duplicate-long-description netcdf-ruby netcdf-ruby1.8 netcdf-ruby1.9.1
+ruby-netcdf source: duplicate-short-description netcdf-ruby1.8-dbg netcdf-ruby1.9.1-dbg
+ruby-netcdf source: duplicate-long-description netcdf-ruby1.8-dbg netcdf-ruby1.9.1-dbg
+ruby-netcdf source: dbg-package-missing-depends netcdf-ruby1.8-dbg
+ruby-netcdf source: dbg-package-missing-depends netcdf-ruby1.9.1-dbg
--
Ruby interface of NetCDF library
More information about the Pkg-grass-devel
mailing list