From: Youhei SASAKI <uwabami@gfd-dennou.org>
Date: Tue, 12 Jun 2012 18:25:08 +0900
Subject: Fix FTBFS Hardening

Signed-off-by: Youhei SASAKI <uwabami@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);
