/
/* Original fread_string was a memory leaking piece of garbage... -DM */
char *fread_string(FILE *f1)
{
 char buf[MAX_STRING_LENGTH];
 int i = 0, tmp;
 
 buf[0] = '\0';
 
 while(i < MAX_STRING_LENGTH - 2) {
   tmp = fgetc(f1);
   if(!tmp) {
     perror("Fread_string");
     assert(0);
   }
   
   if(tmp == '~') {
     break;
   }
 
   buf[i++] = (char)tmp;
   if (buf[i-1] == '\n')
     buf[i++] = '\r';
 }

 if(i == MAX_STRING_LENGTH - 3) { /* We filled the buffer */
    buf[i] = '\0';
    log("File too long (fread_string).");
    while(tmp = fgetc(f1))
        if(tmp == '~')
           break;
  }
 
 else
    buf[i] = '\0';
 
 fgetc(f1);
 
 return((char *)strdup(buf));
}