Mercurial > mxe-octave
diff src/of-netcdf-1-fixes.patch @ 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 | |
children |
line wrap: on
line diff
--- /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);