You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@locus.apache.org on 2000/06/05 04:26:54 UTC

cvs commit: apache-2.0/src/main http_protocol.c

trawick     00/06/04 19:26:52

  Modified:    src/main http_protocol.c
  Log:
  EBCDIC fixes:
    getline(): pick up a couple of Martin's changes which were missed when
    the 1.3.x EBCDIC fixes to this funciton were merged into 2.0
  
    ap_setup_client_block(): fix the logic that, based on the mime type,
    can decide not to translate the request body
  
  Revision  Changes    Path
  1.77      +11 -4     apache-2.0/src/main/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/http_protocol.c,v
  retrieving revision 1.76
  retrieving revision 1.77
  diff -u -r1.76 -r1.77
  --- http_protocol.c	2000/06/03 22:41:01	1.76
  +++ http_protocol.c	2000/06/05 02:26:52	1.77
  @@ -759,8 +759,10 @@
           retval = ap_bgets(pos, n, in);
          /* retval == -1 if error, 0 if EOF */
   
  -        if (retval <= 0)
  -            return ((retval < 0) && (total == 0)) ? -1 : total;
  +        if (retval <= 0) {
  +            total = ((retval < 0) && (total == 0)) ? -1 : total;
  +            break;
  +        }
   
           /* retval is the number of characters read, not including NUL      */
   
  @@ -785,7 +787,7 @@
               ++n;
           }
           else
  -            return total;       /* if not, input line exceeded buffer size */
  +            break;       /* if not, input line exceeded buffer size */
   
           /* Continue appending if line folding is desired and
            * the last line was not empty and we have room in the buffer and
  @@ -1873,7 +1875,12 @@
                             strncasecmp(typep, "multipart/", 10) == 0 ||
                             strcasecmp (typep, "application/x-www-form-urlencoded") == 0
                            );
  -        ap_bsetopt(r->connection->client, BO_RXLATE, ap_locale_from_ascii);
  +        /* By default, we translate content on input.  Turn off translation
  +         * if it isn't text.
  +         */
  +        if (!convert_in) {
  +            ap_set_content_xlate(r, 0, NULL);
  +        }
       }
   #endif /*CHARSET_EBCDIC*/