changeset 4037:85abb6c3ec8b

of-netcdf: patch for --enable-64 (Bug #46060) * src/of-netcdf-1-fixes.patch: new file * dist-files.mk: add of-netcdf-1-fixes.patch
author John Donoghue <john.donoghue@ieee.org>
date Tue, 29 Sep 2015 19:43:19 -0400
parents e5c0805d9f5f
children de0b5dfe77f6
files dist-files.mk src/of-netcdf-1-fixes.patch
diffstat 2 files changed, 69 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Sun Sep 27 15:44:30 2015 -0400
+++ b/dist-files.mk	Tue Sep 29 19:43:19 2015 -0400
@@ -483,6 +483,7 @@
   of-miscellaneous.mk \
   of-nan-1-cross-fixes.patch \
   of-nan.mk \
+  of-netcdf-1-fixes.patch \
   of-netcdf.mk \
   of-nurbs.mk \
   of-ocs-1-cross-fixes.patch \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-netcdf-1-fixes.patch	Tue Sep 29 19:43:19 2015 -0400
@@ -0,0 +1,68 @@
+diff -ur netcdf.orig/src/__netcdf__.cc netcdf/src/__netcdf__.cc
+--- netcdf.orig/src/__netcdf__.cc	2015-09-26 07:53:37.710240236 -0400
++++ netcdf/src/__netcdf__.cc	2015-09-26 13:58:27.115208120 -0400
+@@ -551,8 +551,14 @@
+   check_err(nc_inq_unlimdims(ncid, &nunlimdims, NULL));
+   Array<int> unlimdimids = Array<int>(dim_vector(1,nunlimdims));
+   check_err(nc_inq_unlimdims(ncid, &nunlimdims, unlimdimids.fortran_vec()));
++
++  Array<double> d_unlimdimids = Array<double>(dim_vector(1,nunlimdims));
++  for (octave_idx_type idx=0;idx<d_unlimdimids.numel();idx++)
++    {
++      d_unlimdimids(idx) = unlimdimids(idx);
++    }
+     
+-  return octave_value(unlimdimids);
++  return octave_value(d_unlimdimids);
+ }
+ 
+ 
+@@ -1840,7 +1846,14 @@
+   Array<int> varids = Array<int>(dim_vector(1,nvars));
+   check_err(nc_inq_varids(ncid, &nvars, varids.fortran_vec()));
+ 
+-  return octave_value(varids);
++  Array<double> d_varids = Array<double>(dim_vector(1,nvars));
++  for (octave_idx_type idx=0;idx<d_varids.numel();idx++)
++    {
++      d_varids(idx) = varids(idx);
++    }
++ 
++
++  return octave_value(d_varids);
+ }
+ 
+ DEFUN_DLD(netcdf_inqVar, args,, 
+@@ -1996,8 +2009,14 @@
+   check_err(nc_inq_ndims(ncid, &ndims));
+   Array<int> dimids = Array<int>(dim_vector(1,ndims));
+   check_err(nc_inq_dimids(ncid, &ndims, dimids.fortran_vec(),include_parents));
++
++  Array<double> d_dimids = Array<double>(dim_vector(1,ndims));
++  for (octave_idx_type idx=0;idx<d_dimids.numel();idx++)
++    {
++      d_dimids(idx) = dimids(idx);
++    }
+     
+-  return octave_value(dimids);
++  return octave_value(d_dimids);
+ }
+ 
+ 
+@@ -2067,8 +2086,14 @@
+ 
+   Array<int> ncids = Array<int>(dim_vector(1,numgrps));
+   check_err(nc_inq_grps(ncid, NULL, ncids.fortran_vec()));
+-    
+-  return octave_value(ncids);
++
++  Array<double> d_ncids = Array<double>(dim_vector(1,numgrps));
++  for (octave_idx_type idx=0;idx<d_ncids.numel();idx++)
++    {
++      d_ncids(idx) = ncids(idx);
++    }
++  
++  return octave_value(d_ncids);
+ }
+ 
+ //int nc_inq_grpname(int ncid, char *name);