comparison 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
comparison
equal deleted inserted replaced
4036:e5c0805d9f5f 4037:85abb6c3ec8b
1 diff -ur netcdf.orig/src/__netcdf__.cc netcdf/src/__netcdf__.cc
2 --- netcdf.orig/src/__netcdf__.cc 2015-09-26 07:53:37.710240236 -0400
3 +++ netcdf/src/__netcdf__.cc 2015-09-26 13:58:27.115208120 -0400
4 @@ -551,8 +551,14 @@
5 check_err(nc_inq_unlimdims(ncid, &nunlimdims, NULL));
6 Array<int> unlimdimids = Array<int>(dim_vector(1,nunlimdims));
7 check_err(nc_inq_unlimdims(ncid, &nunlimdims, unlimdimids.fortran_vec()));
8 +
9 + Array<double> d_unlimdimids = Array<double>(dim_vector(1,nunlimdims));
10 + for (octave_idx_type idx=0;idx<d_unlimdimids.numel();idx++)
11 + {
12 + d_unlimdimids(idx) = unlimdimids(idx);
13 + }
14
15 - return octave_value(unlimdimids);
16 + return octave_value(d_unlimdimids);
17 }
18
19
20 @@ -1840,7 +1846,14 @@
21 Array<int> varids = Array<int>(dim_vector(1,nvars));
22 check_err(nc_inq_varids(ncid, &nvars, varids.fortran_vec()));
23
24 - return octave_value(varids);
25 + Array<double> d_varids = Array<double>(dim_vector(1,nvars));
26 + for (octave_idx_type idx=0;idx<d_varids.numel();idx++)
27 + {
28 + d_varids(idx) = varids(idx);
29 + }
30 +
31 +
32 + return octave_value(d_varids);
33 }
34
35 DEFUN_DLD(netcdf_inqVar, args,,
36 @@ -1996,8 +2009,14 @@
37 check_err(nc_inq_ndims(ncid, &ndims));
38 Array<int> dimids = Array<int>(dim_vector(1,ndims));
39 check_err(nc_inq_dimids(ncid, &ndims, dimids.fortran_vec(),include_parents));
40 +
41 + Array<double> d_dimids = Array<double>(dim_vector(1,ndims));
42 + for (octave_idx_type idx=0;idx<d_dimids.numel();idx++)
43 + {
44 + d_dimids(idx) = dimids(idx);
45 + }
46
47 - return octave_value(dimids);
48 + return octave_value(d_dimids);
49 }
50
51
52 @@ -2067,8 +2086,14 @@
53
54 Array<int> ncids = Array<int>(dim_vector(1,numgrps));
55 check_err(nc_inq_grps(ncid, NULL, ncids.fortran_vec()));
56 -
57 - return octave_value(ncids);
58 +
59 + Array<double> d_ncids = Array<double>(dim_vector(1,numgrps));
60 + for (octave_idx_type idx=0;idx<d_ncids.numel();idx++)
61 + {
62 + d_ncids(idx) = ncids(idx);
63 + }
64 +
65 + return octave_value(d_ncids);
66 }
67
68 //int nc_inq_grpname(int ncid, char *name);