Skip to content
  • Mark Olesen's avatar
    reworked IOstreams · 1d866d7f
    Mark Olesen authored
    - Istream and Ostream now retain backslashes when reading/writing strings.
      The previous implementation simply discarded them, except when used to
      escape a double-quote or a newline. It is now vitally important to retain
      them, eg for quoting regular expression meta-characters.
    
      The backslash continues to be used as an escape character for double-quote
      and newline, but otherwise get passed through "as-is" without any other
      special meaning (ie, they are *NOT* C-style strings). This helps avoid
      'backslash hell'!
      For example,
         string:   "match real dots \.+, question mark \? or any char .*"
         C-style:  "match real dots \\.+, question mark \\? or any char .*"
    
    - combined subfiles in db/IOstreams, some had more copyright info than code
    - OPstreamI.H contained only private methods, moved into OPstream.C
    
    Are these really correct?
       IOstreams/Istream.H:#   include "HashTable.C"
       token/token.H:#define NoHashTableC
    1d866d7f