876 |
|
AMBVAL avs; |
877 |
|
register int n; |
878 |
|
|
879 |
+ |
if (ambfp == NULL) /* no ambient file? */ |
880 |
+ |
return(0); |
881 |
|
if (lastpos < 0) /* initializing (locked in initambfile) */ |
882 |
|
goto syncend; |
883 |
|
/* gain appropriate access */ |
920 |
|
#endif |
921 |
|
syncend: |
922 |
|
n = fflush(ambfp); /* calls write() at last */ |
923 |
< |
if (n == EOF) { |
923 |
> |
if ((n == EOF) | (lastpos < 0)) { |
924 |
|
if ((lastpos = lseek(fileno(ambfp), (off_t)0, SEEK_CUR)) < 0) |
925 |
|
goto seekerr; |
926 |
|
} else |
938 |
|
extern int |
939 |
|
ambsync(void) /* flush ambient file */ |
940 |
|
{ |
941 |
+ |
if (ambfp == NULL) |
942 |
+ |
return(0); |
943 |
|
nunflshed = 0; |
944 |
|
return(fflush(ambfp)); |
945 |
|
} |