Mercurial > mxe-octave
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);