MEDfieldInterpInfo.c
Aller à la documentation de ce fichier.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <med.h>
00020 #include <med_config.h>
00021 #include <med_outils.h>
00022 #include <string.h>
00023 #include <hdf5.h>
00024
00036 med_err
00037 MEDfieldInterpInfo(const med_idt fid,
00038 const char* const fieldname,
00039 const int interpit,
00040 char* const interpname
00041 ) {
00042
00043
00044 med_err _ret=-1;
00045 med_idt _fieldinterpid=0;
00046 char _path[MED_TAILLE_CHA_INTERP+MED_NAME_SIZE+1]=MED_CHA_INTERP;
00047 int _num = interpit -1;
00048
00049
00050
00051
00052 _MEDmodeErreurVerrouiller();
00053
00054 strcat(_path,fieldname);
00055
00056
00057
00058
00059 if ((_fieldinterpid = _MEDdatagroupOpen(fid,_path)) < 0) {
00060 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,_path);
00061 goto ERROR;
00062 }
00063
00064
00065
00066
00067 if ( _MEDobjectGetName(_fieldinterpid, "." ,_num, interpname) < 0 ) {
00068 MED_ERR_(_ret,MED_ERR_ACCESS,MED_ERR_DATAGROUP,_path);ISCRUTE_int(interpit);
00069 goto ERROR;
00070 }
00071
00072 _ret=0;
00073
00074 ERROR:
00075
00076 if (_fieldinterpid>0) if (_MEDdatagroupFermer(_fieldinterpid) < 0) {
00077 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_path);
00078 ISCRUTE_id(_fieldinterpid);
00079 }
00080
00081 return _ret;
00082 }