Patch title: Release 87 bulk changes
Abstract:
File: /pliant/protocol/smtp/mime.pli
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/util/encoding/base64.pli"
module "/pliant/util/encoding/qp.pli"



method ms header_line l -> c
  arg_rw MimeStream ms ; arg_w Str l ; arg CBool c
  l := ms:stream readline
  if l=""
    return false
  while not ms:stream:atend and { var Char ch := ms:stream:s
    l += ms:stream readline
  if (l parse acword:"content-type" ":" any:(var Str value) 
    ms mime := value
  eif (l parse acword:"content-type" ":" any:(var Str value)
    ms mime := value
  if (l parse acword:"content-transfer-encoding" ":" any:(va
    ms encoding := value
  eif (l parse acword:"content-transfer-encoding" ":" any:(v
    ms encoding := value
  if (l parse acword:"content-type" ":" acword:"message" any
    ms embedded := true
  if (l parse acword:"content-type" ":" acword:"text" "/" wo
    ms html := true
  if (l parse acword:"content-type" ":" acword:"multipart" a
    ms boundaries += value
  eif (l parse acword:"content-type" ":" acword:"multipart" 
    ms boundaries += value
module "/pliant/language/unsafe.pli"
module "/pliant/language/stream.pli"
module "/pliant/util/encoding/base64.pli"
module "/pliant/util/encoding/qp.pli"



method ms header_line l -> c
  arg_rw MimeStream ms ; arg_w Str l ; arg CBool c
  l := ms:stream readline
  if l=""
    return false
  while not ms:stream:atend and { var Char ch := ms:stream:s
    l += ms:stream readline
  if (l parse acword:"content-type" ":" any:(var Str value) 
    ms mime := value
  eif (l parse acword:"content-type" ":" any:(var Str value)
    ms mime := value
  if (l parse acword:"content-transfer-encoding" ":" any:(va
    ms encoding := value
  eif (l parse acword:"content-transfer-encoding" ":" any:(v
    ms encoding := value
  if (l parse acword:"content-type" ":" acword:"message" any
    ms embedded := true
  if (l parse acword:"content-type" ":" acword:"text" "/" wo
    ms html := true
  if (l parse acword:"content-type" ":" acword:"multipart" a
    ms boundaries += value
  eif (l parse acword:"content-type" ":" acword:"multipart" 
    ms boundaries += value
  if (l parse acword:"content-transfer-encoding" ":" any acw
  if (l parse acword:"content-transfer-encoding" ":" any acword:"8bit" any)
    ms encoding_model := 0
  eif (l parse acword:"content-transfer-encoding" ":" any acword:"base64" any)
    ms encoding_model := 1
  eif (l parse acword:"content-transfer-encoding" ":" any ac
    ms encoding_model := 2
  eif (l parse acword:"content-transfer-encoding" ":" any)
    ms encoding_model := undefined
  if l="spam"
    ms spam := true
  # Novell unstandard encoding_model
  if (l parse acword:"content-disposition" ":" any acword:"f
    ms_decode value
    ms name := value
    ms encoding_model := 1
  eif (l parse acword:"content-transfer-encoding" ":" any ac
    ms encoding_model := 2
  eif (l parse acword:"content-transfer-encoding" ":" any)
    ms encoding_model := undefined
  if l="spam"
    ms spam := true
  # Novell unstandard encoding_model
  if (l parse acword:"content-disposition" ":" any acword:"f
    ms_decode value
    ms name := value
  eif (l+";" parse acword:"content-disposition" ":" any acword:"filename" "=" any:(var Str value) ";" any)
    ms name := value
  if (l parse acword:"content-type" ":" any acword:"name" "=
    ms_decode value # cope with crazy Microsoft encoding_mod
    ms name := value
  if (l parse acword:"content-type" ":" any acword:"name" "=
    ms_decode value # cope with crazy Microsoft encoding_mod
    ms name := value
  eif (l+";" parse acword:"content-type" ":" any acword:"name" "=" any:(var Str value) ";" any)
    ms name := value
  c := true



  c := true