Exemple #1
0
  med_int 
nedfscai(med_idt *fid,med_int *ind,char *scalaire,
	 med_int *data_type,char *desc)
#endif
{
  med_int ret; 
  char *fs1,*fs2;
  med_type_champ typechamp;
  
  fs1 = (char *) malloc(sizeof(char)*MED_TAILLE_NOM+1);
  fs2 = (char *) malloc(sizeof(char)*MED_TAILLE_DESC+1);
 
  if (!(fs1&&fs2))
    return -1;     

  ret = (med_int) MEDscalaireInfo( *fid, (int)*ind, (char *)fs1, 
				  &typechamp ,(char *)fs2);
  *data_type = (med_int) typechamp;
   
  strncpy(scalaire,fs1,MED_TAILLE_NOM);
  strncpy(desc,fs2,MED_TAILLE_DESC);
  _MEDfstring(scalaire,MED_TAILLE_NOM);
  _MEDfstring(desc,MED_TAILLE_DESC);
  free(fs1);
  free(fs2);

  return(ret);
}   
Exemple #2
0
med_int
nedffami(med_int *fid, char *maa,med_int *lon1,med_int *ind, 
	 char *fam,med_int *num,med_int *attr_ident,med_int *attr_val, 
	 char *attr_desc,med_int *n_attr,
	 char *groupe ,med_int *n_groupe)
#endif
{
  med_int ret;
  char * fn1,* fs1, * fs2;
  char fs3[MED_TAILLE_NOM+1];
  int natt,ngro,j;
  char str[MED_TAILLE_LNOM+1];

  fn1 = _MED2cstring(maa, (int) * lon1);
  if (!fn1)
    return(-1);

  if ((ngro = MEDnGroupe  ((med_idt) *fid,fn1,*ind)) < 0) return -1; 
  if ((natt = MEDnAttribut((med_idt) *fid,fn1,*ind)) < 0) return -1; 

  fs1 = (char *) malloc(MED_TAILLE_DESC*natt+1);
  fs2 = (char *) malloc(MED_TAILLE_LNOM*ngro+1);

  ret = (med_int) MEDfamInfo((med_idt) *fid,fn1,(int) *ind, (char *)fs3 , 
			     (med_int *)num, 
			     (med_int *) attr_ident,(med_int *) attr_val,
			     (char *) fs1,
			     (med_int *) n_attr,
			     (char *)fs2 ,(med_int *) n_groupe);

  strncpy(fam,fs3,MED_TAILLE_NOM);
  _MEDfstring(fam,MED_TAILLE_NOM);
  strncpy(attr_desc,fs1,MED_TAILLE_DESC*natt);
  _MEDfstring(attr_desc,MED_TAILLE_DESC*natt);

  for (j=0;j<ngro;j++) {
      strncpy(str,fs2+j*MED_TAILLE_LNOM,MED_TAILLE_LNOM);
      _MEDfstring(str,MED_TAILLE_LNOM);
      str[MED_TAILLE_LNOM] = '\0';
      if (j == 0) 
	      strcpy(groupe,str);
      else
	      strcat(groupe,str);
  } 
  _MEDfstring(groupe,MED_TAILLE_LNOM*ngro);
  free(fs1);
  free(fs2);
  
  _MEDcstringFree(fn1);
  
  return(ret);
}
Exemple #3
0
  med_int 
nedfspdi(med_idt *fid,char *scalaire, med_int *lon1,med_int *indice,
	 med_int *numdt,char *dt_unit, med_float *dt, med_int *numo)
#endif
{
  med_int ret;
  char *fn1;
  char fs1[MED_TAILLE_PNOM+1];

  fn1 = _MED2cstring(scalaire, (int) *lon1);

  if (!fn1)
    return(-1); 

  ret = (med_int) MEDscalairePasdetempsInfo( *fid,(char *) fn1,(int) *indice, 
					    (med_int *) numdt, (char *) fs1, 
					    (med_float *) dt, (med_int *) numo);

  strncpy(dt_unit,fs1,MED_TAILLE_PNOM);
  _MEDfstring(dt_unit,MED_TAILLE_PNOM);

  _MEDcstringFree(fn1);

  return (ret);
}