pike.git / lib / modules / Parser.pmod / Tabular.pike

version» Context lines:

pike.git/lib/modules/Parser.pmod/Tabular.pike:84:    alread->add(s);    if(sizeof(s)!=n)    throw(severity);    return s;   }      private string gets(int n)   { string s;    if(n)    { s=read(n); -  if(has_value(s,"\n")) +  if(has_value(s,"\n")||has_value(s,"\r"))    throw(severity);    }    else    { s=in->gets();    if(!s)    throw(severity); -  +  if(has_value(s,"\r")) // Retrofix \r-only line endings +  { array t; +  t=s/"\r"; +  s=t[0];in->unread(t[1..]*"\n"); +  }    alread->add(s);alread->putchar('\n');    if(has_suffix(s,"\r"))    s=s[..<1];    eol=1;    }    return s;   }      private class checkpoint   { private string oldalread;
pike.git/lib/modules/Parser.pmod/Tabular.pike:198:    break delimready;    else switch(c)    { default:    { string s;    sscanf(buf[--i..],skipclass,s);    word->add(s);    i+=sizeof(s);    break;    }    case '\n': +  FETCHAR(c,buf,i); +  switch(c) +  { default:i--; +  case '\r':case '\x1a':; +  }    eol=1;    break delimready; -  case '\r':case '\x1a':; +  case '\r': +  FETCHAR(c,buf,i); +  if(c!='\n') +  i--; +  eol=1; +  break delimready; +  case '\x1a':;    }    FETCHAR(c,buf,i);    }    if(!sizeof(buf))    throw(severity);    alread->add(buf);    }    else    { int leadspace=1,inquotes=0;   csvready:
pike.git/lib/modules/Parser.pmod/Tabular.pike:243:    default:leadspace=0;    case ' ':case '\t':    if(!leadspace)    { string s;    sscanf(buf[--i..],skipclass,s);    word->add(s);    i+=sizeof(s);    }    break;    case '\n': +  FETCHAR(c,buf,i); +  switch(c) +  { default:i--; +  case '\r':case '\x1a':; +  }    if(!inquotes)    { eol=1;    break csvready;    }    word->putchar('\n'); -  case '\r':case '\x1a':; +  break; +  case '\r': +  FETCHAR(c,buf,i); +  if(c!='\n') +  i--; +  if(!inquotes) +  { eol=1; +  break csvready;    } -  +  word->putchar('\n'); +  case '\x1a':; +  }    FETCHAR(c,buf,i);    }    if(!sizeof(buf))    throw(severity);    alread->add(buf);    }    }    alread->add(buf[..i-1]);    in->unread(buf[i..]);    value=word->get();