Revision 1127 trunk/libraries/libjni-mrsid/src/ltimetadatarecord.cpp
ltimetadatarecord.cpp | ||
---|---|---|
26 | 26 |
|
27 | 27 |
|
28 | 28 |
#include <jni.h> |
29 |
#include <string.h> |
|
29 | 30 |
#include "es_gva_cit_jmrsid_LTIMetadataRecord.h" |
30 | 31 |
#include "es_gva_cit_jmrsid_JNIBase.h" |
31 | 32 |
|
... | ... | |
162 | 163 |
(JNIEnv *env, jobject obj, jlong cPtr){ |
163 | 164 |
|
164 | 165 |
LTIMetadataRecord *record = (LTIMetadataRecord *) 0 ; |
165 |
|
|
166 | 166 |
record = *(LTIMetadataRecord **)&cPtr; |
167 | 167 |
|
168 | 168 |
if(record!=NULL){ |
169 |
char dato[255];
|
|
169 |
char dato[8192];
|
|
170 | 170 |
const void* data = record->getScalarData(); |
171 |
|
|
172 | 171 |
switch (record->getDataType()) |
173 | 172 |
{ |
174 | 173 |
case LTI_METADATA_DATATYPE_UINT8: |
... | ... | |
203 | 202 |
break; |
204 | 203 |
case LTI_METADATA_DATATYPE_ASCII: |
205 | 204 |
{ |
205 |
|
|
206 | 206 |
const char* p = ((const char**)data)[0]; |
207 |
sprintf(dato,"%s", p); |
|
207 |
if(strlen(p)>8192) |
|
208 |
strncpy(dato,p,8192); |
|
209 |
else |
|
210 |
sprintf(dato,"%s", p); |
|
208 | 211 |
} |
209 | 212 |
break; |
210 | 213 |
} |
... | ... | |
416 | 419 |
const lt_uint32* dims = record->getDims(); |
417 | 420 |
const lt_uint32 numdims = record->getNumDims(); |
418 | 421 |
longitudes = env->NewIntArray((int)numdims); |
419 |
env->SetIntArrayRegion( longitudes, 0, (int)numdims,(int *)dims); |
|
422 |
env->SetIntArrayRegion( longitudes, 0, (int)numdims,(const jint *)dims);
|
|
420 | 423 |
|
421 | 424 |
} |
422 | 425 |
return longitudes; |
Also available in: Unified diff