diff --git a/site_ansto/hardsup/sct_lfprot.c b/site_ansto/hardsup/sct_lfprot.c index 7ed7f734..3733959a 100644 --- a/site_ansto/hardsup/sct_lfprot.c +++ b/site_ansto/hardsup/sct_lfprot.c @@ -145,17 +145,20 @@ int LFGenReading(Ascon *a) // Read HEAD info do { ret = AsconReadChar(a->fd, &chr); - if(ret<0) { - AsconError(a, "AsconReadChar failed:", errno); + if(ret<=0) { + AsconError(a, "AsconReadChar failed:", 0); + a->state = AsconReadDone; return 0; + } else { + HEAD = (BYTE)chr; } - HEAD = (BYTE)chr; } while (HEAD!=0x96); // read LEN info ret = AsconReadChar(a->fd, &chr); - if(ret<0) { - AsconError(a, "AsconReadChar failed:", errno); + if(ret<=0) { + AsconError(a, "AsconReadChar failed:", 0); + a->state = AsconReadDone; return 0; } LEN = (BYTE)chr; @@ -173,8 +176,8 @@ int LFGenReading(Ascon *a) // read all other chars while(indfd, &chr); - if (ret < 0) { - AsconError(a, "AsconReadChar failed:", errno); + if (ret <= 0) { + AsconError(a, "AsconReadChar failed:", 0); a->state = AsconReadDone; return 0; }