Rev 8898 | Rev 11132 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8898 | Rev 11124 | ||
---|---|---|---|
Line 71... | Line 71... | ||
71 | unsigned char c; |
71 | unsigned char c; |
72 | 72 | ||
73 | if(items<=0) return -1; |
73 | if(items<=0) return -1; |
74 | j=0; c=str[0]; |
74 | j=0; c=str[0]; |
75 | k=list[0].original[0]-c; if(k==0) k=compare(0,str); |
75 | k=list[0].original[0]-c; if(k==0) k=compare(0,str); |
76 | if(k==0) goto more |
76 | if(k==0) goto more; |
- | 77 | if(k>0) return -1; |
|
77 | j=items-1; k=list[j].original[0]-c; if(k==0) k=compare(j,str); |
78 | j=items-1; k=list[j].original[0]-c; if(k==0) k=compare(j,str); |
78 | if(k==0) return j; |
79 | if(k==0) return j; |
79 | if(k>0) for(i1=0,i2=j;i2>i1+1;) { |
80 | if(k>0) for(i1=0,i2=j;i2>i1+1;) { |
80 | j=i1+(i2-i1)/2; |
81 | j=i1+(i2-i1)/2; |
81 | k=list[j].original[0]-c; if(k==0) k=compare(j,str); |
82 | k=list[j].original[0]-c; if(k==0) k=compare(j,str); |
Line 104... | Line 105... | ||
104 | if(leaveline) { |
105 | if(leaveline) { |
105 | if(*pp==13) ovlstrcpy(pp,pp+1); |
106 | if(*pp==13) ovlstrcpy(pp,pp+1); |
106 | if(*pp=='\n') { |
107 | if(*pp=='\n') { |
107 | pp++; |
108 | pp++; |
108 | gopt: for(p2=pp; isspace(*p2) && *p2!='\n'; p2++); |
109 | gopt: for(p2=pp; isspace(*p2) && *p2!='\n'; p2++); |
109 | if(p2>pp) ovlstrcpy(pp,p2) |
110 | if(p2>pp) ovlstrcpy(pp,p2); |
- | 111 | pp--; |
|
110 | } |
112 | } |
111 | else { |
113 | else { |
112 | pp++; if(!isspace(*pp) || *pp=='\n') continue; |
114 | pp++; if(!isspace(*pp) || *pp=='\n') continue; |
113 | goto gopt; |
115 | goto gopt; |
114 | } |
116 | } |
Line 259... | Line 261... | ||
259 | } |
261 | } |
260 | p1=inpbuf; prepare_dict(); |
262 | p1=inpbuf; prepare_dict(); |
261 | if(leaveline) c='\n'; else c=' '; |
263 | if(leaveline) c='\n'; else c=' '; |
262 | do { |
264 | do { |
263 | l=strlen(p1); |
265 | l=strlen(p1); |
264 | if(l>MAX_LINELEN-1024) l=MAX_LINELEN-1024 |
266 | if(l>MAX_LINELEN-1024) l=MAX_LINELEN-1024; |
- | 267 | p2=p1+l; |
|
265 | if(*p2) { |
268 | if(*p2) { |
266 | while(p2>p1 && *p2!=c) p2--; |
269 | while(p2>p1 && *p2!=c) p2--; |
267 | } |
270 | } |
268 | if(p2<=p1) return 0; |
271 | if(p2<=p1) return 0; |
269 | memmove(outbuf,p1,p2-p1); outbuf[p2-p1]=0; |
272 | memmove(outbuf,p1,p2-p1); outbuf[p2-p1]=0; |