Patch title: Release 91 bulk changes
Abstract:
File: /protocol/http/style/common.style
Key:
    Removed line
    Added line
   
# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


# Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
#
# This program is free software; you can redistribute it and
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be us
# but WITHOUT ANY WARRANTY; without even the implied warrant
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See 
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public 
# version 2 along with this program; if not, write to the Fr
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 


method p head s
  arg_rw HtmlPage p ; arg Str s
method p replace_content replace with -> status
  arg_rw HtmlPage p ; arg Str replace with ; arg Status status
  var Pointer:Stream stream :> p http_stream
  var Address start := stream stream_write_buf
  var Address cur := stream stream_write_cur
  var Address stop := stream stream_write_stop
  var Pointer:Stream stream :> p http_stream
  var Address start := stream stream_write_buf
  var Address cur := stream stream_write_cur
  var Address stop := stream stream_write_stop
  if (cast stop Int).-.(cast cur Int)>=s:len
    var Address a := memory_search start (cast cur Int).-.(c
  if (cast stop Int).-.(cast cur Int) >= with:len-replace:len
    var Address a := memory_search start (cast cur Int).-.(cast start Int) replace:characters 7
    if a<>null
    if a<>null
      memory_move a (a translate Byte s:len) (cast cur Int).
      memory_copy s:characters a s:len
      stream stream_write_cur := cur translate Byte s:len
      return
  stream writechars "[dq]"
  stream writechars s
      memory_move (a translate Byte replace:len) (a translate Byte with:len) (cast cur Int).-.(cast a Int)-replace:len
      memory_copy with:characters a with:len
      stream stream_write_cur := cur translate Byte with:len-replace:len
      return success
  status := failure


method p head s -> status
  arg_rw HtmlPage p ; arg Str s ; arg Status status
  p replace_content "</head>" s+"</head>"

method p flush
  arg_rw HtmlPage p
  p:http_stream flush anytime


method p flush
  arg_rw HtmlPage p
  p:http_stream flush anytime


export '. head' '. flush' 'cast Status' '. virtual_command' 
export '. replace_content' '. head' '. flush' 'cast Status' '. virtual_command' '. lang'