- Timestamp:
- 16/01/12 10:06:47 (4 months ago)
- Location:
- trunk
- Files:
-
- 3 edited
-
applications/NXconvert/nxconvert_common.cpp (modified) (4 diffs)
-
include/napi.h (modified) (2 diffs)
-
src/napi.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/applications/NXconvert/nxconvert_common.cpp
r1790 r1797 150 150 return NX_ERROR; 151 151 } 152 if (nx_format != NXACC_CREATE && nx_format != NXACC_CREATE4)153 {154 152 /* now create any required links */ 155 153 for(size_t i=0; i<links_to_make.size(); i++) … … 177 175 } 178 176 } 179 }180 177 /* Close the input and output files */ 181 178 if (NXclose (&outId) != NX_OK) … … 190 187 { 191 188 192 int status, dataType, dataRank, dataDimensions[NX_MAXRANK]; 189 int i, status, dataType, dataRank, dataDimensions[NX_MAXRANK]; 190 static const int slab_start[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; 191 static const int MAX_DEF_ARRAY_ELEMENTS_PER_DIM = 3; /* doesn't work yet - only 1 element is written */ 193 192 NXname name, nxclass; 194 193 void *dataBuffer; … … 211 210 { 212 211 if (NXgetinfo (inId, &dataRank, dataDimensions, &dataType) != NX_OK) return NX_ERROR; 213 if (NXmalloc (&dataBuffer, dataRank, dataDimensions, dataType) != NX_OK) return NX_ERROR;214 if (NXgetdata (inId, dataBuffer) != NX_OK) return NX_ERROR;215 212 if (NXmakedata (outId, name, dataType, dataRank, dataDimensions) != NX_OK) return NX_ERROR; 216 213 if (NXopendata (outId, name) != NX_OK) return NX_ERROR; 214 if ( is_definition && (dataType != NX_CHAR) ) 215 { 216 for(i=0; i<dataRank; ++i) 217 { 218 if (dataDimensions[i] > MAX_DEF_ARRAY_ELEMENTS_PER_DIM) 219 { 220 dataDimensions[i] = MAX_DEF_ARRAY_ELEMENTS_PER_DIM; 221 } 222 } 223 if (NXmalloc (&dataBuffer, dataRank, dataDimensions, dataType) != NX_OK) return NX_ERROR; 224 if (NXgetslab (inId, dataBuffer, slab_start, dataDimensions) != NX_OK) return NX_ERROR; 225 if (NXputslab (outId, dataBuffer, slab_start, dataDimensions) != NX_OK) return NX_ERROR; 226 } 227 else 228 { 229 if (NXmalloc (&dataBuffer, dataRank, dataDimensions, dataType) != NX_OK) return NX_ERROR; 230 if (NXgetdata (inId, dataBuffer) != NX_OK) return NX_ERROR; 231 if (NXputdata (outId, dataBuffer) != NX_OK) return NX_ERROR; 232 } 217 233 if (WriteAttributes (is_definition, 0) != NX_OK) return NX_ERROR; 218 if (NX putdata (outId, dataBuffer) != NX_OK) return NX_ERROR;234 if (NXclosedata (outId) != NX_OK) return NX_ERROR; 219 235 if (NXfree((void**)&dataBuffer) != NX_OK) return NX_ERROR; 220 if (NXclosedata (outId) != NX_OK) return NX_ERROR;221 236 remove_path(name); 222 237 } -
trunk/include/napi.h
r1792 r1797 593 593 * \ingroup c_readwrite 594 594 */ 595 extern NXstatus NXgetslab(NXhandle handle, void* data, int start[],int size[]);595 extern NXstatus NXgetslab(NXhandle handle, void* data, const int start[], const int size[]); 596 596 597 597 … … 773 773 * \ingroup c_memory 774 774 */ 775 extern NXstatus NXmalloc(void** data, int rank, int dimensions[], int datatype);775 extern NXstatus NXmalloc(void** data, int rank, const int dimensions[], int datatype); 776 776 777 777 /** 778 778 * @copydoc NXmalloc() 779 779 */ 780 extern NXstatus NXmalloc64(void** data, int rank, int64_t dimensions[], int datatype);780 extern NXstatus NXmalloc64(void** data, int rank, const int64_t dimensions[], int datatype); 781 781 782 782 -
trunk/src/napi.c
r1792 r1797 1092 1092 1093 1093 NXstatus NXmalloc (void** data, int rank, 1094 int dimensions[], int datatype)1094 const int dimensions[], int datatype) 1095 1095 { 1096 1096 int status; … … 1102 1102 1103 1103 NXstatus NXmalloc64 (void** data, int rank, 1104 int64_t dimensions[], int datatype)1104 const int64_t dimensions[], int datatype) 1105 1105 { 1106 1106 int i; … … 1293 1293 1294 1294 NXstatus NXgetslab (NXhandle fid, void *data, 1295 int iStart[],int iSize[])1295 const int iStart[], const int iSize[]) 1296 1296 { 1297 1297 int i, iType, rank;
Note: See TracChangeset
for help on using the changeset viewer.
