/*--------------------------------------------------------------------------*/ void C2F(getfileinfo)(int *fd, FILE *fa, int *swap2, int *type, int *mode, char *filename, int *lf, int *ierr) { char *filenamefromfd = NULL; if (*fd<0 || *fd>=GetMaximumFileOpenedInScilab() ) { *ierr=1; return; } if ( GetFileTypeOpenedInScilab(*fd) == 0 ) { *ierr=2; return; } fa = GetFileOpenedInScilab(*fd); *swap2 = GetSwapStatus(*fd); *type = GetFileTypeOpenedInScilab(*fd); *mode = GetFileModeOpenedInScilab(*fd); filenamefromfd = GetFileNameOpenedInScilab(*fd); if (filenamefromfd) strcpy(filename,GetFileNameOpenedInScilab(*fd)); else strcpy(filename,""); *lf=(int)strlen(filename); *ierr=0; }
/*--------------------------------------------------------------------------*/ double *GetModesUsed(int *sizeArrayReturned) { double *ArrayModeUsed = NULL; int i = 0, j = 0; *sizeArrayReturned = GetNumberOfIdsUsed(); ArrayModeUsed = (double*)MALLOC(sizeof(double)*(*sizeArrayReturned)); if (ArrayModeUsed == NULL) { *sizeArrayReturned = 0; return NULL; } j = 0; for (i = 0; i < GetMaximumFileOpenedInScilab(); i++) { if (GetFileTypeOpenedInScilab(i) != 0) { ArrayModeUsed[j] = (double)GetFileModeOpenedInScilab(i); j++; } } return ArrayModeUsed; }
/*--------------------------------------------------------------------------*/ mputlError mputl(int fileDescriptor, char **pStrings, int sizeStrings) { FILE *fw = NULL; int i = 0; if (pStrings == NULL) { return MPUTL_ERROR; } if (fileDescriptor == STDIN_ID) { return MPUTL_INVALID_FILE_DESCRIPTOR; } else if (fileDescriptor == STDOUT_ID) { fw = stdout; } else { fw = GetFileOpenedInScilab(fileDescriptor); if (fw) { int mode = GetFileModeOpenedInScilab(fileDescriptor); if ( (mode >= 100) && (mode < 200) ) { return MPUTL_NO_WRITE_RIGHT; } } else { return MPUTL_INVALID_FILE_DESCRIPTOR; } } for (i = 0; i < sizeStrings; i++) { if (fw == stdout) { sciprint(MPUTL_FORMAT, pStrings[i]); } else { fprintf(fw, MPUTL_FORMAT, pStrings[i]); } } return MPUTL_NO_ERROR; }