#include #include #include "psb_c_base.h" psb_c_descriptor* psb_c_new_descriptor() { psb_c_descriptor* temp; temp=(psb_c_descriptor *) malloc(sizeof(psb_c_descriptor)); temp->descriptor=NULL; return(temp); } void psb_c_delete_descriptor(psb_c_descriptor* cdh) { if (cdh != NULL) free(cdh); return; } psb_c_ctxt* psb_c_new_ctxt() { psb_c_ctxt* temp; temp=(psb_c_ctxt *) malloc(sizeof(psb_c_ctxt)); temp->ctxt=NULL; return(temp); } void psb_c_delete_ctxt(psb_c_ctxt* cctxt) { if (cctxt != NULL) free(cctxt); return; } void psb_c_print_errmsg() { char *mesg; for (mesg = psb_c_pop_errmsg(); mesg != NULL; mesg = psb_c_pop_errmsg()) { fprintf(stderr,"%s\n",mesg); free(mesg); } } #define PSB_MAX_ERRLINE_LEN 132 #define PSB_MAX_ERR_LINES 4 static int maxlen=PSB_MAX_ERR_LINES*(PSB_MAX_ERRLINE_LEN+2); char *psb_c_pop_errmsg() { char *tmp; tmp = (char*) malloc(maxlen*sizeof(char)); if (psb_c_f2c_errmsg(tmp,maxlen)<=0) { free(tmp); tmp = NULL; } return(tmp); } // Convertire il comunicatore fortran in comunicatore c