Revision 1127 trunk/libraries/libjni-mrsid/src/ltimetadatarecord.cpp

View differences:

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