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