1 /*  This file is part of MED.
2  *
3  *  COPYRIGHT (C) 1999 - 2019  EDF R&D, CEA/DEN
4  *  MED is free software: you can redistribute it and/or modify
5  *  it under the terms of the GNU Lesser General Public License as published by
6  *  the Free Software Foundation, either version 3 of the License, or
7  *  (at your option) any later version.
8  *
9  *  MED is distributed in the hope that it will be useful,
10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  *  GNU Lesser General Public License for more details.
13  *
14  *  You should have received a copy of the GNU Lesser General Public License
15  *  along with MED.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 
19 #include <med.h>
20 #include "med_config.h"
21 #include "med_outils.h"
22 #include <stdlib.h>
23 #include <string.h>
24 
25 #define nedfcone F77_FUNC(edfcone,EDFCONE)
26 #define nedfconl F77_FUNC(edfconl,EDFCONL)
27 #define nedfcooe F77_FUNC(edfcooe,EDFCOOE)
28 #define nedfcool F77_FUNC(edfcool,EDFCOOL)
29 #define nedfnema F77_FUNC(edfnema,EDFNEMA)
30 #define nedfnome F77_FUNC(edfnome,EDFNOME)
31 #define nedfnoml F77_FUNC(edfnoml,EDFNOML)
32 #define nedfnume F77_FUNC(edfnume,EDFNUME)
33 #define nedfnuml F77_FUNC(edfnuml,EDFNUML)
34 #define nedfpgce F77_FUNC(edfpgce,EDFPGCE)
35 #define nedfpgcl F77_FUNC(edfpgcl,EDFPGCL)
36 #define nedfpygi F77_FUNC(edfpygi,EDFPYGI)
37 #define nedfpece F77_FUNC(edfpece,EDFPECE)
38 #define nedfpecl F77_FUNC(edfpecl,EDFPECL)
39 #define nedfpyei F77_FUNC(edfpyei,EDFPYEI)
40 #define nedficoe F77_FUNC(edficoe,EDFICOE)
41 #define nedficol F77_FUNC(edficol,EDFICOL)
42 #define nedfscoe F77_FUNC(edfscoe,EDFSCOE)
43 #define nedfscol F77_FUNC(edfscol,EDFSCOL)
44 
45 
46 #ifdef PPRO_NT
47 med_int
EDFCONE(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * mdim,med_int * con,med_int * mode_switch,med_int * nbre,med_int * type_ent,med_int * type_geo,med_int * type_con)48  EDFCONE(med_idt *fid, char *maa, unsigned int bidon,
49                   med_int *lon, med_int *mdim, med_int *con,med_int *mode_switch,
50 		  med_int *nbre,
51 	          med_int *type_ent,
52                   med_int *type_geo,med_int *type_con )
53 #else
54 med_int
55 nedfcone(med_idt *fid, char *maa, med_int *lon,med_int *mdim,
56 	 med_int *con, med_int *mode_switch, med_int *nbre,
57 	 med_int *type_ent,med_int *type_geo,med_int *type_con)
58 #endif
59 {
60   char *fn;
61   med_int ret;
62 
63   fn = _MED2cstring(maa, (int) * lon);
64 
65   if (!fn)
66     return(-1);
67 
68   ret = (med_int) MEDconnEcr (*fid,fn,(med_int) *mdim,
69 			      (med_int *)con,(med_mode_switch) *mode_switch,(med_int)*nbre,
70 			      (med_entite_maillage)*type_ent,
71 			      (med_geometrie_element) *type_geo,
72 			      (med_connectivite) *type_con);
73 
74   _MEDcstringFree(fn);
75 
76   return(ret);
77 
78 }
79 
80 
81 #ifdef PPRO_NT
82 med_int
EDFCONL(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * mdim,med_int * con,med_int * mode_switch,med_int * pfltabtmp,med_int * psizetmp,med_int * type_ent,med_int * type_geo,med_int * type_con)83  EDFCONL(med_idt *fid, char *maa, unsigned int bidon,
84                   med_int *lon, med_int *mdim, med_int *con, med_int *mode_switch,
85 		  med_int * pfltabtmp, med_int *psizetmp,
86                   med_int *type_ent,med_int *type_geo,
87                   med_int *type_con )
88 #else
89 med_int
90 nedfconl(med_idt *fid, char *maa, med_int *lon,med_int *mdim,med_int *con,
91 	 med_int *mode_switch,
92 	 med_int * pfltabtmp, med_int *psizetmp,
93 	 med_int *type_ent,med_int *type_geo,med_int *type_con )
94 #endif
95 {
96   char *fn;
97   med_int ret;
98 
99   fn = _MED2cstring(maa, (int) * lon);
100 
101   if (!fn)
102     return(-1);
103 
104   ret = (med_int) MEDconnLire(*fid, fn,(med_int) *mdim,(med_int *) con,
105 			      (med_mode_switch) *mode_switch,
106 			      (med_int *) pfltabtmp, (med_size) *psizetmp,
107 			      (med_entite_maillage) *type_ent,
108 			      (med_geometrie_element) *type_geo,
109 			      (med_connectivite) *type_con);
110 
111   _MEDcstringFree(fn);
112 
113   return(ret);
114 }
115 
116 
117 #ifdef PPRO_NT
118 med_int
EDFCOOE(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_float * coo,med_int * modcoo,med_int * n,med_int * type_rep,char * nom,unsigned int bidon2,med_int * lon2,char * unit,unsigned int bidon3,med_int * lon3)119  EDFCOOE(med_idt *fid,char *maa,unsigned int bidon1,med_int *lon1,
120 		  med_int *mdim, med_float * coo,med_int * modcoo, med_int *n,
121 	          med_int *type_rep, char *nom,
122                   unsigned int bidon2, med_int *lon2,
123 	          char *unit, unsigned int bidon3, med_int *lon3)
124 #else
125 med_int
126 nedfcooe(med_idt *fid, char *maa, med_int *lon1, med_int *mdim,
127 	 med_float* coo,med_int *modcoo, med_int *n,
128 	 med_int *type_rep, char *nom, med_int *lon2,
129 	 char *unit, med_int *lon3)
130 #endif
131 {
132   med_int ret;
133   char *  fn1, *fn2, *fn3;
134   med_repere type_rep_c;
135 
136   fn1 = _MED2cstring(maa, (int) * lon1);
137   fn2 = _MED1cstring(nom, (int) * lon2,(int) *mdim*MED_TAILLE_PNOM);
138   fn3 = _MED1cstring(unit, (int) * lon3,(int) *mdim*MED_TAILLE_PNOM);
139 
140   if (!fn1 || !fn2 || !fn3)
141     return(-1);
142 
143   type_rep_c = (med_repere) *type_rep;
144   ret = (med_int) MEDcoordEcr(*fid, fn1, (med_int) *mdim,
145 			      (med_float *) coo,(med_mode_switch)*modcoo,
146 			      (med_int) *n,type_rep_c,
147 			      fn2,fn3);
148   _MEDcstringFree(fn1);
149   _MEDcstringFree(fn2);
150   _MEDcstringFree(fn3);
151 
152   return(ret);
153 }
154 
155 
156 
157 #ifdef PPRO_NT
158 med_int
EDFCOOL(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_float * coo,med_int * modcoo,med_int * numco,med_int * pfltabtmp,med_int * psize,med_int * type_rep,char * nom,unsigned int bidon2,char * unit,unsigned int bidon3)159  EDFCOOL(med_idt *fid, char *maa, unsigned int bidon1,
160                   med_int *lon1, med_int *mdim, med_float * coo, med_int * modcoo,
161 		  med_int *numco, med_int * pfltabtmp, med_int * psize,
162 		  med_int *type_rep, char *nom, unsigned int bidon2, char *unit,
163                   unsigned int bidon3)
164 #else
165 med_int
166 nedfcool(med_idt *fid, char *maa,med_int *lon1,med_int *mdim,
167 	 med_float * coo,med_int * modcoo,
168 	 med_int * numco,med_int * pfltabtmp, med_int * psize,
169 	 med_int *type_rep, char *nom,
170          char *unit)
171 #endif
172 {
173   med_int ret;
174   char * fn1,* fs1,* fs2;
175   med_repere type_rep_c;
176   med_size lpsize;
177 
178   lpsize = (med_size) *psize;
179 
180   fn1 = _MED2cstring(maa, (int) * lon1);
181   fs1 = (char *) malloc(sizeof(char)*MED_TAILLE_PNOM*(*mdim)+1);
182   fs2 = (char *) malloc(sizeof(char)*MED_TAILLE_PNOM*(*mdim)+1);
183 
184   if (!(fn1&&fs1&&fs2))
185     return(-1);
186 
187   ret = (med_int) MEDcoordLire(*fid, fn1, (med_int ) *mdim,
188 			       (med_float *) coo,(med_mode_switch)*modcoo,
189 			       (med_int) *numco, (med_int *) pfltabtmp, lpsize,
190 			       &type_rep_c, fs1, fs2);
191 
192   *type_rep = (med_int) type_rep_c;
193   strncpy(nom,fs1,MED_TAILLE_PNOM*(*mdim));
194   _MEDfstring(nom ,MED_TAILLE_PNOM*(*mdim));
195   strncpy(unit,fs2,MED_TAILLE_PNOM*(*mdim));
196   _MEDfstring(unit,MED_TAILLE_PNOM*(*mdim));
197 
198   _MEDcstringFree(fn1);
199   free(fs1);
200   free(fs2);
201 
202   return(ret);
203 }
204 
205 
206 #ifdef PPRO_NT
207 int
EDFNOME(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,char * nom,unsigned int bidon2,med_int * lon2,med_int * n,med_int * type_ent,med_int * type_geo)208  EDFNOME (med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
209                    char *nom, unsigned int bidon2, med_int *lon2,
210                    med_int *n, med_int *type_ent,
211                    med_int *type_geo)
212 
213 #else
214 med_int
215 nedfnome(med_idt *fid,char *maa,med_int *lon1, char *nom,med_int *lon2,
216 	 med_int *n,med_int *type_ent,med_int *type_geo)
217 #endif
218 {
219   med_int ret;
220   char * fn1, *fn2;
221 
222   fn1 = _MED2cstring(maa, (int) * lon1);
223   fn2 = _MED1cstring(nom, (int) * lon2,(int) *n*MED_TAILLE_PNOM);
224 
225   if (!fn1 || !fn2)
226     return(-1);
227 
228   ret = (med_int) MEDnomEcr(*fid, fn1, fn2, (med_int) *n,
229 			    (med_entite_maillage) *type_ent,
230 			    (med_geometrie_element) *type_geo);
231 
232   _MEDcstringFree(fn1);
233   _MEDcstringFree(fn2);
234 
235   return(ret);
236 }
237 
238 #ifdef PPRO_NT
239 med_int
EDFNOML(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,char * nom,unsigned int bidon2,med_int * n,med_int * type_ent,med_int * type_geo)240  EDFNOML(med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
241                   char *nom , unsigned int bidon2, med_int *n,
242 	          med_int *type_ent, med_int *type_geo)
243 
244 #else
245 med_int
246 nedfnoml(med_idt *fid,char *maa,med_int *lon1, char *nom,med_int *n,
247 	 med_int *type_ent,med_int *type_geo)
248 #endif
249 {
250   med_int ret;
251   char * fn1,* fs1;
252 
253   fn1 = _MED2cstring(maa, (int) * lon1);
254   fs1 = (char *) malloc(sizeof(char)*MED_TAILLE_PNOM*(*n)+1);
255 
256   if ( !(fn1&&fs1) )
257     return(-1);
258 
259   ret = (med_int) MEDnomLire(*fid, fn1, (char *) fs1, (med_int) *n,
260 			     (med_entite_maillage) *type_ent,
261 			     (med_geometrie_element) *type_geo);
262 
263   strncpy(nom,fs1,MED_TAILLE_PNOM*(*n));
264   _MEDfstring(nom,MED_TAILLE_PNOM*(*n));
265 
266   _MEDcstringFree(fn1);
267   free(fs1);
268 
269   return(ret);
270 }
271 
272 
273 #ifdef PPRO_NT
274 med_int
EDFNUME(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * num,med_int * n,med_int * type_ent,med_int * type_geo)275  EDFNUME(med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
276                   med_int *num, med_int *n, med_int *type_ent,
277                   med_int *type_geo)
278 #else
279 med_int
280 nedfnume(med_idt *fid,char *maa, med_int *lon1, med_int *num, med_int *n,
281 	 med_int *type_ent,med_int *type_geo)
282 #endif
283 {
284   med_int ret;
285   char * fn1;
286 
287   fn1 = _MED2cstring(maa, (int) * lon1);
288 
289   if (!fn1 )
290     return(-1);
291 
292   ret = (med_int) MEDnumEcr(*fid, fn1, (med_int *) num, (med_int)*n,
293 			    (med_entite_maillage) *type_ent,
294 			    (med_geometrie_element) *type_geo);
295 
296   _MEDcstringFree(fn1);
297 
298   return(ret);
299 }
300 
301 
302 #ifdef PPRO_NT
303 int
EDFNUML(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * num,med_int * n,med_int * type_ent,med_int * type_geo)304  EDFNUML(med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
305                   med_int *num , med_int *n, med_int *type_ent,
306                   med_int *type_geo)
307 #else
308 med_int
309 nedfnuml(med_idt *fid,char *maa, med_int *lon1, med_int *num , med_int *n,
310 	 med_int *type_ent,med_int *type_geo)
311 #endif
312 {
313   med_int ret;
314   char *fn1;
315 
316   fn1 = _MED2cstring(maa, (int) * lon1);
317 
318   if (!fn1 )
319     return(-1);
320 
321   ret = (med_int) MEDnumLire(*fid, fn1, (med_int *) num,(med_int)*n,
322 			     (med_entite_maillage) *type_ent,
323 			     (med_geometrie_element) *type_geo);
324 
325   _MEDcstringFree(fn1);
326 
327   return(ret);
328 }
329 
330 #ifdef PPRO_NT
331 med_int
EDFNEMA(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * quoi,med_int * typ_ent,med_int * typ_geo,med_int * typ_conn)332  EDFNEMA (med_idt *fid, char *maa, unsigned int bidon, med_int *lon,
333                    med_int *quoi, med_int *typ_ent, med_int *typ_geo,
334                    med_int *typ_conn)
335 #else
336 med_int
337 nedfnema(med_idt *fid, char *maa, med_int *lon, med_int *quoi,
338 	 med_int *typ_ent, med_int *typ_geo,med_int *typ_conn)
339 #endif
340 {
341   med_int ret;
342   char *fn1;
343 
344   fn1 = _MED2cstring(maa, (int) * lon);
345 
346   if (!fn1 )
347     return(-1);
348 
349   ret = (med_int) MEDnEntMaa(*fid, fn1, (med_table) *quoi,
350 			     (med_entite_maillage) *typ_ent,
351 			     (med_geometrie_element) *typ_geo,
352 			     (med_connectivite) *typ_conn);
353 
354   _MEDcstringFree(fn1);
355 
356   return(ret);
357 }
358 
359 
360 #ifdef PPRO_NT
361 med_int
EDFPGCE(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * index,med_int * ni,med_int * con,med_int * type_ent,med_int * type_con)362  EDFPGCE(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
363 		  med_int *index, med_int *ni, med_int *con,
364 	          med_int *type_ent,med_int *type_con)
365 #else
366 med_int
367 nedfpgce(med_idt *fid, char *maa, med_int *lon,
368 	 med_int *index, med_int *ni, med_int *con,
369 	 med_int *type_ent,med_int *type_con)
370 #endif
371 {
372   char *fn;
373   med_int ret;
374 
375   fn = _MED2cstring(maa, (int) * lon);
376 
377   if (!fn)
378     return(-1);
379 
380   ret = (med_int) MEDpolygoneConnEcr(*fid,fn,(med_int *) index,(med_int) *ni,
381 				     (med_int *)con,(med_entite_maillage)*type_ent,
382 				     (med_connectivite) *type_con);
383 
384   _MEDcstringFree(fn);
385 
386   return(ret);
387 }
388 
389 
390 #ifdef PPRO_NT
391 med_int
EDFPGCL(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * index,med_int * ni,med_int * con,med_int * type_ent,med_int * type_con)392  EDFPGCL(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
393 		  med_int *index, med_int *ni, med_int *con,
394 	          med_int *type_ent,med_int *type_con)
395 #else
396 med_int
397 nedfpgcl(med_idt *fid, char *maa, med_int *lon,
398 	 med_int *index, med_int *ni, med_int *con,
399 	 med_int *type_ent,med_int *type_con)
400 #endif
401 {
402   char *fn;
403   med_int ret;
404 
405   fn = _MED2cstring(maa, (int) * lon);
406 
407   if (!fn)
408     return(-1);
409 
410   ret = (med_int) MEDpolygoneConnLire(*fid, fn,
411 				      (med_int *) index,(med_int) *ni,(med_int *) con,
412 				      (med_entite_maillage) *type_ent,
413 				      (med_connectivite) *type_con);
414 
415   _MEDcstringFree(fn);
416 
417   return(ret);
418 }
419 
420 #ifdef PPRO_NT
421 med_int
EDFPYGI(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * type_ent,med_int * type_con,med_int * consize)422  EDFPYGI(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
423 	          med_int *type_ent,med_int *type_con,med_int *consize)
424 #else
425 med_int
426 nedfpygi(med_idt *fid, char *maa, med_int *lon,
427 	 med_int *type_ent,med_int *type_con,med_int *consize)
428 #endif
429 {
430   char *fn;
431   med_int ret;
432 
433   fn = _MED2cstring(maa, (int) * lon);
434 
435   if (!fn)
436     return(-1);
437 
438   ret = (med_int) MEDpolygoneInfo(*fid, fn,
439 				  (med_entite_maillage) *type_ent,
440 				  (med_connectivite) *type_con,
441 				  (med_int *) consize);
442 
443   _MEDcstringFree(fn);
444 
445   return(ret);
446 }
447 
448 
449 #ifdef PPRO_NT
450 med_int
EDFPECE(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * indexp,med_int * np,med_int * indexf,med_int * nf,med_int * con,med_int * type_con)451  EDFPECE(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
452 		  med_int *indexp, med_int *np,med_int *indexf, med_int *nf,
453 		  med_int *con,med_int *type_con)
454 #else
455 med_int
456 nedfpece(med_idt *fid, char *maa, med_int *lon,
457 	 med_int *indexp, med_int *np,med_int *indexf, med_int *nf,
458 	 med_int *con,med_int *type_con)
459 #endif
460 {
461   char *fn;
462   med_int ret;
463 
464   fn = _MED2cstring(maa, (int) * lon);
465 
466   if (!fn)
467     return(-1);
468 
469   ret = (med_int) MEDpolyedreConnEcr(*fid,fn,(med_int *)indexp,(med_int) *np,
470 				     (med_int *)indexf,(med_int) *nf,(med_int *)con,
471 				     (med_connectivite) *type_con);
472 
473   _MEDcstringFree(fn);
474 
475   return(ret);
476 }
477 
478 
479 #ifdef PPRO_NT
480 med_int
EDFPECL(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * indexp,med_int * np,med_int * indexf,med_int * nf,med_int * con,med_int * type_con)481  EDFPECL(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
482 		  med_int *indexp, med_int *np,
483 		  med_int * indexf,med_int *nf,
484 		  med_int *con,med_int *type_con)
485 #else
486 med_int
487 nedfpecl(med_idt *fid, char *maa, med_int *lon,
488 	 med_int *indexp, med_int *np,
489 	 med_int *indexf,med_int *nf,
490 	 med_int *con,med_int *type_con)
491 #endif
492 {
493   char *fn;
494   med_int ret;
495 
496   fn = _MED2cstring(maa, (int) * lon);
497 
498   if (!fn)
499     return(-1);
500 
501   ret = (med_int) MEDpolyedreConnLire(*fid, fn,
502 				      (med_int *) indexp,(med_int) *np,
503 				      (med_int *) indexf,(med_int) *nf,
504 				      (med_int *) con,
505 				      (med_connectivite) *type_con);
506 
507   _MEDcstringFree(fn);
508 
509   return(ret);
510 }
511 
512 #ifdef PPRO_NT
513 med_int
EDFPYEI(med_idt * fid,char * maa,unsigned int bidon,med_int * lon,med_int * type_con,med_int * nf,med_int * consize)514  EDFPYEI(med_idt *fid, char *maa, unsigned int bidon,med_int *lon,
515 	          med_int *type_con,med_int *nf,med_int *consize)
516 #else
517 med_int
518 nedfpyei(med_idt *fid, char *maa, med_int *lon,
519 	 med_int *type_con,med_int *nf,med_int *consize)
520 #endif
521 {
522   char *fn;
523   med_int ret;
524 
525   fn = _MED2cstring(maa, (int) * lon);
526 
527   if (!fn)
528     return(-1);
529 
530   ret = (med_int) MEDpolyedreInfo(*fid, fn,
531 				  (med_connectivite) *type_con,
532 				  (med_int *) nf,
533 				  (med_int *) consize);
534 
535   _MEDcstringFree(fn);
536 
537   return(ret);
538 }
539 
540 
541 #ifdef PPRO_NT
542 med_int
EDFICOE(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_float * indices,med_int * n,med_int * axe,char * comp,unsigned int bidon2,med_int * lon2,char * unit,unsigned int bidon3,med_int * lon3)543  EDFICOE(med_idt *fid,char *maa,unsigned int bidon1,med_int *lon1,
544 		  med_int *mdim, med_float * indices,med_int *n,
545 	          med_int *axe, char *comp,
546                   unsigned int bidon2, med_int *lon2,
547 	          char *unit, unsigned int bidon3, med_int *lon3)
548 #else
549 med_int
550 nedficoe(med_idt *fid, char *maa, med_int *lon1, med_int *mdim,
551 	 med_float* indices,med_int *n,
552 	 med_int *axe, char *comp, med_int *lon2,
553 	 char *unit, med_int *lon3)
554 #endif
555 {
556   med_int ret;
557   char *  fn1, *fn2, *fn3;
558 
559   fn1 = _MED2cstring(maa, (int) * lon1);
560   fn2 = _MED1cstring(comp, (int) * lon2,(int) *mdim*MED_TAILLE_PNOM);
561   fn3 = _MED1cstring(unit, (int) * lon3,(int) *mdim*MED_TAILLE_PNOM);
562 
563   if (!fn1 || !fn2 || !fn3)
564     return(-1);
565 
566   ret = (med_int) MEDindicesCoordEcr(*fid, fn1, (med_int) *mdim,
567 				     (med_float *) indices,(med_int) *n,
568 				     (med_int) *axe,fn2,fn3);
569 
570   _MEDcstringFree(fn1);
571   _MEDcstringFree(fn2);
572   _MEDcstringFree(fn3);
573 
574   return(ret);
575 }
576 
577 #ifdef PPRO_NT
578 med_int
EDFICOL(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_float * indices,med_int * n,med_int * axe,char * comp,unsigned int bidon2,med_int * lon2,char * unit,unsigned int bidon3,med_int * lon3)579  EDFICOL(med_idt *fid,char *maa,unsigned int bidon1,med_int *lon1,
580 		  med_int *mdim, med_float * indices,med_int *n,
581 	          med_int *axe, char *comp,
582                   unsigned int bidon2, med_int *lon2,
583 	          char *unit, unsigned int bidon3, med_int *lon3)
584 #else
585 med_int
586 nedficol(med_idt *fid, char *maa, med_int *lon1, med_int *mdim,
587 	 med_float* indices,med_int *n,
588 	 med_int *axe, char *comp, med_int *lon2,
589 	 char *unit, med_int *lon3)
590 #endif
591 {
592   med_int ret;
593   char *  fn1, *fs1, *fs2;
594 
595   fn1 = _MED2cstring(maa, (int) * lon1);
596   fs1 = (char *) malloc(sizeof(char)*MED_TAILLE_PNOM+1);
597   fs2 = (char *) malloc(sizeof(char)*MED_TAILLE_PNOM+1);
598 
599   if (!(fn1 && fs1 && fs2))
600     return(-1);
601 
602   ret = (med_int) MEDindicesCoordLire(*fid, fn1, (med_int) *mdim,
603 				      (med_float *) indices,(med_int) *n,
604 				      (med_int) *axe,fs1,fs2);
605 
606   strncpy(comp,fs1,MED_TAILLE_PNOM);
607   _MEDfstring(comp ,MED_TAILLE_PNOM);
608   strncpy(unit,fs2,MED_TAILLE_PNOM);
609   _MEDfstring(unit,MED_TAILLE_PNOM);
610 
611   _MEDcstringFree(fn1);
612   free(fs1);
613   free(fs2);
614 
615   return(ret);
616 }
617 
618 #ifdef PPRO_NT
619 med_int
EDFSCOE(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_int * structure)620  EDFSCOE(med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
621                   med_int * mdim,med_int *structure)
622 #else
623 med_int
624 nedfscoe(med_idt *fid,char *maa, med_int *lon1, med_int *mdim, med_int *structure)
625 #endif
626 {
627   med_int ret;
628   char * fn1;
629 
630   fn1 = _MED2cstring(maa, (int) * lon1);
631 
632   if (!fn1 )
633     return(-1);
634 
635   ret = (med_int) MEDstructureCoordEcr(*fid, fn1, (med_int) *mdim, (med_int *) structure);
636 
637   _MEDcstringFree(fn1);
638 
639   return(ret);
640 }
641 
642 
643 #ifdef PPRO_NT
644 med_int
EDFSCOL(med_idt * fid,char * maa,unsigned int bidon1,med_int * lon1,med_int * mdim,med_int * structure)645  EDFSCOL(med_idt *fid,char *maa, unsigned int bidon1, med_int *lon1,
646                   med_int *mdim,med_int *structure)
647 #else
648 med_int
649 nedfscol(med_idt *fid,char *maa, med_int *lon1, med_int *mdim,med_int *structure)
650 #endif
651 {
652   med_int ret;
653   char * fn1;
654 
655   fn1 = _MED2cstring(maa, (int) * lon1);
656 
657   if (!fn1 )
658     return(-1);
659 
660   ret = (med_int) MEDstructureCoordLire(*fid, fn1, (med_int) *mdim, (med_int *) structure);
661 
662   _MEDcstringFree(fn1);
663 
664   return(ret);
665 }
666