med_int MEDfieldnComponent(const med_idt fid, const int ind) { med_err _ret = -1; char _fieldname[MED_NAME_SIZE+1]=""; int _num = ind-1; char _path [MED_TAILLE_CHA+MED_NAME_SIZE+1]=MED_CHA; /* * On inhibe le gestionnaire d'erreur HDF */ _MEDmodeErreurVerrouiller(); /* * On recupere le nom du champ */ if ( _MEDobjectGetName(fid, _path ,_num, _fieldname) < 0 ) { MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(_num); goto ERROR; } if ( (_ret=MEDfieldnComponentByName( fid, _fieldname )) < 0) { MED_ERR_(_ret,MED_ERR_CALL,MED_ERR_API,MED_ERR_FIELD_MSG); SSCRUTE(_fieldname);SSCRUTE(_path);SSCRUTE("MEDfieldnComponentbyName"); goto ERROR; } ERROR: return _ret; }
med_int nmfdffin(med_int *fid, char *fname, med_int *fnamelen, char*mname, med_int *localmesh, med_int *type, char *cname, char *cunit, char *dtunit, med_int *nc) #endif { med_int _ret; char *_fn1; char _fs2[MED_NAME_SIZE+1]=""; char _fs3[MED_SNAME_SIZE+1]=""; char *_fs4, *_fs5; med_field_type _type; med_int _nc; med_bool _lmesh; _fn1 = _MED2cstring((char *) fname, (int) *fnamelen); if (!_fn1) return(-1); _nc = MEDfieldnComponentByName((const med_idt)*fid, _fn1); if (_nc < 0) return (-1); _fs4 = (char *) malloc(sizeof(char)*MED_SNAME_SIZE*(_nc)+1);*_fs4='\0'; _fs5 = (char *) malloc(sizeof(char)*MED_SNAME_SIZE*(_nc)+1);*_fs5='\0'; if (!(_fs4&&_fs5)) return (-1); _ret = (med_int) MEDfieldInfoByName((const med_idt)*fid, _fn1, _fs2, &_lmesh, &_type, _fs4, _fs5, _fs3, (med_int *) nc); *type = (med_int) _type; *localmesh = (med_int) _lmesh; _MEDc2fString(_fs2,mname,MED_NAME_SIZE); _MEDc2fString(_fs3,dtunit,MED_SNAME_SIZE); _MEDc2fString(_fs4,cname,MED_SNAME_SIZE*_nc); _MEDc2fString(_fs5,cunit,MED_SNAME_SIZE*_nc); free(_fs4); free(_fs5); _MEDcstringFree(_fn1); return _ret; }
med_int nmfdfncn(med_int *fid, char* fname, med_int *fnamelen) #endif { med_int _ret; char *_fn1; _fn1 = _MED2cstring((char *) fname, (int) *fnamelen); if (!_fn1) return(-1); _ret = (med_int) MEDfieldnComponentByName((const med_idt) *fid, _fn1); _MEDcstringFree(_fn1); return(_ret); }