Subversion Repositories wimsdev

Rev

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; if(k>0) return -1;
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); pp--;
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; p2=p1+l;
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;