File libghttp-1.0.9-version_float.diff of Package libghttp

--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,12 @@
+2002-12-10  Philipp Thomas  <pthomas@suse.de>
+
+	* http_req.h (http_req_tag): Make http_ver a char *.
+	* http_req.c (http_req_new, http_req_send): Handle
+	http_ver as string to get rid of locale dependency.
+	* http_resp.h (http_resp_tag): Make http_ver a string.
+	* http_resp.c (http_resp_read_headers): Handle http_ver
+	accordingly.
+
 2001-01-17  Robey Pointer  <robey@eazel.com>
 
 	reviewed by: J Shane Culpepper  <pepper@eazel.com>
--- http_req.c
+++ http_req.c
@@ -53,7 +53,7 @@
   l_return = (http_req *)malloc(sizeof(http_req));
   memset(l_return, 0, sizeof(http_req));
   /* default to 1.1 */
-  l_return->http_ver = 1.1;
+  l_return->http_ver = "1.1";
   l_return->headers = http_hdr_list_new();
   return l_return;
 }
@@ -128,7 +128,7 @@
   if (a_conn->proxy_host)
     {
       l_request_len = sprintf(l_request,
-			      "%s %s HTTP/%01.1f\r\n",
+			      "%s %s HTTP/%s\r\n",
 			      http_req_type_char[a_req->type],
 			      a_req->full_uri,
 			      a_req->http_ver);
@@ -136,7 +136,7 @@
   else
     {
       l_request_len = sprintf(l_request,
-			      "%s %s HTTP/%01.1f\r\n",
+			      "%s %s HTTP/%s\r\n",
 			      http_req_type_char[a_req->type],
 			      a_req->resource,
 			      a_req->http_ver);
--- http_req.h
+++ http_req.h
@@ -59,7 +59,7 @@
 
 typedef struct http_req_tag {
   http_req_type type;
-  float          http_ver;
+  char          *http_ver;
   char          *host;
   char          *full_uri;
   char          *resource;
--- http_resp.c
+++ http_resp.c
@@ -165,8 +165,8 @@
       goto ec;
     }
   /* convert char into int */
-  a_resp->http_ver = (l_ptr[5] - 0x30);
-  a_resp->http_ver += ((l_ptr[7] - 0x30) / 10.0);
+  memcpy(a_resp->http_ver, l_ptr+5, 3);
+  a_resp->http_ver[3] = '\0';
   /* convert the response into an int */
   a_resp->status_code = ((l_ptr[9] - 0x30)*100);
   a_resp->status_code += ((l_ptr[10] - 0x30)*10);
--- http_resp.h
+++ http_resp.h
@@ -50,7 +50,7 @@
 
 typedef struct http_resp_tag
 {
-  float                                http_ver;
+  char                                 http_ver[4];
   int                                  status_code;
   char                                *reason_phrase;
   http_hdr_list                       *headers;
openSUSE Build Service is sponsored by