_MEDmeshUniversalNameRd30.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_config.h>
00020 #include <med.h>
00021 #include <med_outils.h>
00022
00023 #include <string.h>
00024 #include <stdlib.h>
00025
00026 #include <stdio.h>
00027
00028 void
00029 _MEDmeshUniversalNameRd30(int dummy, ...)
00030 {
00031
00032 va_list params;
00033 va_start(params,dummy);
00034
00035 const med_idt fid = va_arg(params, const med_idt ) ;
00036 const char * const meshname = va_arg(params, const char * const );
00037 char * const univname = va_arg(params, char * const );
00038 med_err * fret = va_arg(params, med_err *);
00039
00040
00041 med_err _ret=-1;
00042 med_idt _meshid;
00043 char _path [MED_TAILLE_MAA+MED_NAME_SIZE+1]=MED_MAA;
00044
00045
00046
00047
00048
00049 _MEDmodeErreurVerrouiller();
00050
00051
00052
00053
00054
00055 strcat(_path,meshname);
00056 if ((_meshid = _MEDdatagroupOuvrir(fid,_path)) < 0) {
00057 MED_ERR_(_ret,MED_ERR_OPEN,MED_ERR_DATAGROUP,_path);
00058 ISCRUTE_id(_meshid);goto ERROR;
00059 }
00060
00061 if ( _MEDattrStringLire(_meshid,MED_NOM_UNV,MED_LNAME_SIZE,univname) < 0) {
00062 _ret = MED_ERR_READ + MED_ERR_ATTRIBUTE;
00063 goto ERROR;
00064 }
00065
00066 _ret = 0;
00067 ERROR:
00068
00069 if (_meshid>0) if (_MEDdatagroupFermer(_meshid) < 0) {
00070 MED_ERR_(_ret,MED_ERR_CLOSE,MED_ERR_DATAGROUP,_path);
00071 ISCRUTE_id(_meshid);
00072 }
00073 va_end(params);
00074 *fret = _ret;
00075 return;
00076 }