home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / c / 12243 < prev    next >
Encoding:
Text File  |  1992-08-12  |  1.2 KB  |  16 lines

  1. Newsgroups: comp.lang.c
  2. Path: sparky!uunet!sun-barr!cs.utexas.edu!torn!utzoo!censor!animal!blmc46!patrick
  3. From: patrick@blmc46.QE.Bell.CA (Patrick Seynave)
  4. Subject: getc() with timeout
  5. Message-ID: <1992Aug12.180853.5145@animal.er.bell.ca>
  6. Sender: patrick@blmc46 (Patrick Seynave)
  7. Organization: Bell Canada -- OD Information Architectures
  8. Distribution: na
  9. Date: Wed, 12 Aug 1992 18:08:53 GMT
  10. Lines: 4
  11.  
  12. I need to read characters coming in through a serial port on a Sun running 4.1.1.  The characters have to be read until a certain string is received.  I wrote a little routine that does the trick by reading a character with getc(), inserting that character in a buffer, and checking if the buffer contains the string.  If it doesn't, I read the next character, and so on...
  13. The problem is that when there is noise on the line I'm reading, the string is never received properly and the function never returns (instead, it keeps on trying to read characters and getc() never returns).
  14. What I need is a way to read a character through a serial port that will return that character or return nothing (NULL or whatever) if no character has come in for a certain time (some kind of getc() with a timeout).
  15. Does anyone have any ideas ?
  16.