_MEDnFamily30.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
00023 #include <string.h>
00024 #include <stdlib.h>
00025
00026 void _MEDnFamily30(int dummy, ...)
00027 {
00028
00029 va_list params;
00030 va_start(params,dummy);
00031
00032 const med_idt fid = va_arg(params,const med_idt );
00033 const char * const meshname = va_arg(params,const char * const );
00034 med_int * fret = va_arg(params, med_int *);
00035
00036 med_int _ret=-1;
00037 char _path[MED_TAILLE_FAS+MED_NAME_SIZE+MED_TAILLE_FAS_ENTITE+MED_NAME_SIZE+1]=MED_FAS;
00038 int _pathreflen=0;
00039 med_int _n=0;
00040 med_size _tmpn=0;
00041
00042
00043
00044
00045 _MEDmodeErreurVerrouiller();
00046
00047 strcat(_path,meshname);
00048 _pathreflen=strlen(_path);
00049
00050
00051 if ( (_ret=_MEDnObjects(fid,_path,&_tmpn)) < 0)
00052 if ( _ret == (MED_ERR_COUNT + MED_ERR_DATAGROUP) ) {
00053 MED_ERR_(_ret,MED_ERR_COUNT,MED_ERR_DATAGROUP,_path);
00054 goto ERROR;
00055 }
00056 _n = (med_int ) _tmpn;
00057
00058
00059
00060 strcat(_path,MED_FAS_ELEME);
00061
00062 if ( (_ret=_MEDnObjects(fid,_path,&_tmpn)) < 0 ) {
00063 if ( _ret == (MED_ERR_COUNT + MED_ERR_DATAGROUP) ) {
00064 MED_ERR_(_ret,MED_ERR_COUNT,MED_ERR_DATAGROUP,_path);
00065 goto ERROR;
00066 }
00067 } else {
00068
00069 _n --; _n += (med_int ) _tmpn;
00070 }
00071
00072
00073
00074
00075 strncpy(&_path[_pathreflen],MED_FAS_NOEUD,MED_TAILLE_FAS_ENTITE+1);
00076
00077 if ( (_ret=_MEDnObjects(fid,_path,&_tmpn)) < 0 ) {
00078 if ( _ret == (MED_ERR_COUNT + MED_ERR_DATAGROUP) ) {
00079 MED_ERR_(_ret,MED_ERR_COUNT,MED_ERR_DATAGROUP,_path);
00080 goto ERROR;
00081 }
00082 } else {
00083 _n --; _n += (med_int ) _tmpn;
00084 }
00085
00086
00087 _ret = _n;
00088 ERROR:
00089 va_end(params);
00090 *fret = _ret;
00091
00092 return;
00093 }
00094