/*----------------------------------------------------------------------------*/ #include "fmsglib.h" /*----------------------------------------------------------------------------*/ #include /*----------------------------------------------------------------------------*/ int check_flag(char *pname) { int status = FLAG_EXISTS; FILE *pfile = fopen(pname,"r"); if(pfile) fclose(pfile); else status = FLAG_MISSING; return status; } /*----------------------------------------------------------------------------*/ int clear_flag(char *pname) { int status = remove(pname); if(status<0) status = FLAG_UNTOUCHED; return status; } /*----------------------------------------------------------------------------*/ int setup_flag(char *pname) { int status = check_flag(pname); if(status==FLAG_MISSING) { FILE *pfile = fopen(pname,"wt"); if(pfile) fclose(pfile); else status = FLAG_SETFAILED; } else { status = FLAG_SETEXISTS; } return status; } /*----------------------------------------------------------------------------*/ int write_message(char *pname, char *message) { int status = MSG_WRITE_SUCCESS; FILE *pfile = fopen(pname,"wt"); if(pfile) { fprintf(pfile,message); fclose(pfile); } else status = MSG_WRITE_FAILED; return status; } /*----------------------------------------------------------------------------*/ int read_message(char *pname, char *message, int size) { int status = MSG_READ_SUCCESS; FILE *pfile = fopen(pname,"rt"); if(pfile) { int loop = 0, test; while((test=fgetc(pfile))!=EOF) { message[loop++] = (char) test; if(loop>=size-1) { status = MSG_READ_OVERFLOW; break; } } fclose(pfile); message[loop] = 0x0; } else status = MSG_READ_FAILED; return status; } /*----------------------------------------------------------------------------*/