MEDscalaireInfo.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
00024 med_err
00025 MEDscalaireInfo(med_idt fid,int indice,char *scalaire,
00026 med_type_champ *type,char *desc)
00027 {
00028 med_err ret=0;
00029 med_idt gid;
00030 char chemin[MED_TAILLE_NUM_DATA+MED_TAILLE_NOM+1];
00031 int num;
00032 med_int typechamp;
00033
00034
00035
00036
00037 _MEDmodeErreurVerrouiller();
00038 if (MEDcheckVersion(fid) < 0) return -1;
00039
00040
00041
00042
00043
00044 num = indice - 1;
00045 strcpy(chemin,MED_NUM_DATA);
00046 if ((ret = _MEDobjetIdentifier(fid,chemin,num,scalaire)) < 0)
00047 return -1;
00048
00049
00050
00051
00052
00053 strcat(chemin,scalaire);
00054 if ((gid = _MEDdatagroupOuvrir(fid,chemin)) < 0)
00055 return -1;
00056
00057
00058
00059
00060
00061 if ((ret = _MEDattrEntierLire(gid,MED_NOM_TYP, & typechamp)) < 0)
00062 return -1;
00063 *type = (med_type_champ) typechamp;
00064
00065 if ((ret = _MEDattrStringLire(gid,MED_NOM_DES,MED_TAILLE_DESC,
00066 desc)) < 0)
00067 return -1;
00068
00069
00070
00071
00072 if ((ret = _MEDdatagroupFermer(gid)) < 0)
00073 return -1;
00074
00075 return ret;
00076 }