- if ((fp = lkfopen (seqfile, "w")) == NULL
- && (unlink (seqfile) == -1 ||
- (fp = lkfopen (seqfile, "w")) == NULL)) {
+
+ if (mp->seqhandle) {
+ fp = mp->seqhandle;
+ mp->seqhandle = NULL;
+ free(mp->seqname);
+ mp->seqname = NULL;
+ rewind(fp);
+ ftruncate(fileno(fp), 0);
+ } else if ((fp = lkfopendata (seqfile, "w")) == NULL
+ && (m_unlink (seqfile) == -1 ||
+ (fp = lkfopendata (seqfile, "w")) == NULL)) {