Changeset 2619 for trunk/texinfo/info/session.c
- Timestamp:
- Mar 12, 2006, 6:02:46 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/texinfo/info/session.c
r2617 r2619 24 24 #include "search.h" 25 25 #include <sys/ioctl.h> 26 27 #ifdef __EMX__ 28 # include <stdlib.h> 29 # include "pc.h" 30 #endif /* __EMX__ */ 26 31 27 32 #if defined (HAVE_SYS_TIME_H) … … 1994 1999 prefer the one forward. The return is in newly-allocated memory, 1995 2000 since the caller frees it. 1996 2001 1997 2002 This is called from info_menu_or_ref_item with XREF_LIST being all 1998 2003 the xrefs in the node, and POS being point. The ui function that … … 2009 2014 int nearest = -1; 2010 2015 long best_delta = -1; 2011 2016 2012 2017 for (this_xref = 0; xref_list[this_xref]; this_xref++) 2013 2018 { … … 2019 2024 break; 2020 2025 } 2021 2026 2022 2027 /* See how far POS is from this xref. Take into account the 2023 2028 `*Note' that begins the xref, since as far as the user is … … 2025 2030 delta = MIN (labs (pos - (xref->start - strlen (INFO_XREF_LABEL))), 2026 2031 labs (pos - xref->end)); 2027 2032 2028 2033 /* It's the <= instead of < that makes us choose the forward xref 2029 2034 of POS if two are equidistant. Of course, because of all the … … 2036 2041 } 2037 2042 } 2038 2043 2039 2044 /* Maybe there was no list to search through. */ 2040 2045 if (nearest < 0) 2041 2046 return NULL; 2042 2047 2043 2048 /* Ok, we have a nearest xref, make a list of it. */ 2044 2049 { … … 3299 3304 3300 3305 #if !defined (DEFAULT_INFO_PRINT_COMMAND) 3306 # ifndef __EMX__ 3301 3307 # define DEFAULT_INFO_PRINT_COMMAND "lpr" 3308 # else 3309 # define DEFAULT_INFO_PRINT_COMMAND "expand --tabs=4 >>InfoLog.tmp" 3310 # endif /* __EMX__ */ 3302 3311 #endif /* !DEFAULT_INFO_PRINT_COMMAND */ 3303 3312 … … 4114 4123 break; 4115 4124 } 4116 4125 4117 4126 4118 4127 if (search_result == 0) … … 4575 4584 !info_input_pending_p ()) 4576 4585 { 4577 #if defined (FD_SET) 4586 #if defined (FD_SET) && !defined (__EMX__) 4578 4587 struct timeval timer; 4579 4588 fd_set readfds; … … 4924 4933 space_avail = info_input_buffer_space_available (); 4925 4934 4935 #ifdef __EMX__ 4936 if ( is_xfree86 == XFREE86_NO ) 4937 { 4938 while (chars_avail < space_avail && (tty = pc_getc(0)) != -1) 4939 input[chars_avail++] = tty; 4940 } 4941 else 4942 { 4943 #endif /* __EMX__ */ 4926 4944 /* If we can just find out how many characters there are to read, do so. */ 4927 4945 #if defined (FIONREAD) … … 4976 4994 # endif /* O_NDELAY */ 4977 4995 #endif /* !FIONREAD */ 4996 #ifdef __EMX__ 4997 } 4998 #endif /* __EMX__ */ 4978 4999 4979 5000 while (i < chars_avail) … … 5002 5023 unsigned char c; 5003 5024 int tty = fileno (info_input_stream); 5025 5026 #ifdef __EMX__ 5027 if (is_xfree86 == XFREE86_NO) 5028 keystroke = pc_getc(1); 5029 else 5030 { 5031 #endif /* __EMX__ */ 5004 5032 5005 5033 /* Using stream I/O causes FIONREAD etc to fail to work … … 5046 5074 } 5047 5075 } 5076 #ifdef __EMX__ 5077 } 5078 #endif /* __EMX__ */ 5048 5079 } 5049 5080
Note:
See TracChangeset
for help on using the changeset viewer.