From bf6172f7ca9998fbd947f013fb6450f40b845eea Mon Sep 17 00:00:00 2001
From: gardners <paul@servalproject.org>
Date: Tue, 22 May 2012 10:01:57 +0930
Subject: [PATCH] clean up and use WHY() macros for all output.

---
 rhizome_http.c | 51 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 26 deletions(-)

diff --git a/rhizome_http.c b/rhizome_http.c
index 581b7e3a..6b76351b 100644
--- a/rhizome_http.c
+++ b/rhizome_http.c
@@ -69,7 +69,7 @@ void sigPipeHandler(int signal)
 
 void sigIoHandler(int signal)
 {
-  printf("sigio\n");
+  WHY("sigio");
   sigIoFlag++;
   return;
 }
@@ -84,7 +84,7 @@ int rhizome_server_start()
   struct sockaddr_in address;
   int on=1;
 
-  if (debug&DEBUG_RHIZOME) fprintf(stderr,"Trying to start rhizome server.\n");
+  if (debug&DEBUG_RHIZOME) WHYF("Trying to start rhizome server.");
 
   /* Catch broken pipe signals */
   signal(SIGPIPE,sigPipeHandler);
@@ -109,7 +109,7 @@ int rhizome_server_start()
     {
       close(rhizome_server_socket);
       rhizome_server_socket=-1000;
-      if (debug&DEBUG_RHIZOME)  WHY("bind() failed starting rhizome http server\n");
+      if (debug&DEBUG_RHIZOME)  WHY("bind() failed starting rhizome http server");
       return -1;
     }
 
@@ -125,7 +125,7 @@ int rhizome_server_start()
     {
       close(rhizome_server_socket);
       rhizome_server_socket=-1;
-      return WHY("listen() failed starting rhizome http server\n");
+      return WHY("listen() failed starting rhizome http server");
     }
 
   return 0;
@@ -146,7 +146,7 @@ int rhizome_server_poll()
 
   /* Process the existing requests.
      XXX - should use poll or select here */
-  if (debug&DEBUG_RHIZOME) printf("Checking %d active connections\n",
+  if (debug&DEBUG_RHIZOME) WHYF("Checking %d active connections",
 		    rhizome_server_live_request_count);
   for(rn=0;rn<rhizome_server_live_request_count;rn++)
     {
@@ -156,7 +156,7 @@ int rhizome_server_poll()
 	case RHIZOME_HTTP_REQUEST_RECEIVING:
 	  /* Keep reading until we have two CR/LFs in a row */
 	  r->request[r->request_length]=0;
-	  fprintf(stderr,"http request so far: [%s]\n",r->request);
+	  WHYF("http request so far: [%s]",r->request);
 	  
 	  sigPipeFlag=0;
 	  
@@ -208,8 +208,7 @@ int rhizome_server_poll()
 	  /* Socket already has request -- so just try to send some data. */
 	  rhizome_server_http_send_bytes(rn,r);
 	  break;
-      }
-      WHY("Processing live HTTP requests not implemented.");
+      }      
     }
 
   /* Deal with any new requests */
@@ -264,7 +263,7 @@ int rhizome_server_get_fds(struct pollfd *fds,int *fdcount,int fdmax)
   if (rhizome_server_socket>-1)
     {
       if (debug&DEBUG_IO) {
-	fprintf(stderr,"rhizome http server is poll() slot #%d (fd %d)\n",
+	WHYF("rhizome http server is poll() slot #%d (fd %d)",
 		*fdcount,rhizome_server_socket);
       }
       fds[*fdcount].fd=rhizome_server_socket;
@@ -276,7 +275,7 @@ int rhizome_server_get_fds(struct pollfd *fds,int *fdcount,int fdmax)
     {
       if ((*fdcount)>=fdmax) return -1;
       if (debug&DEBUG_IO) {
-	fprintf(stderr,"rhizome http request #%d is poll() slot #%d (fd %d)\n",
+	WHYF("rhizome http request #%d is poll() slot #%d (fd %d)",
 		i,*fdcount,rhizome_live_http_requests[i]->socket); }
       fds[*fdcount].fd=rhizome_live_http_requests[i]->socket;
       switch(rhizome_live_http_requests[i]->request_type) {
@@ -342,7 +341,7 @@ int rhizome_server_sql_query_http_response(int rn,rhizome_http_request *r,
   long long response_bytes=256+r->source_count*r->source_record_size;
   rhizome_server_http_response_header(r,200,"servalproject.org/rhizome-list", 
 				      response_bytes);
-  printf("headers consumed %d bytes.\n",r->buffer_length);
+  WHYF("headers consumed %d bytes.",r->buffer_length);
 
   /* Clear and prepare response header */
   bzero(&r->buffer[r->buffer_length],256);
@@ -350,7 +349,7 @@ int rhizome_server_sql_query_http_response(int rn,rhizome_http_request *r,
   r->buffer[r->buffer_length]=0x01; /* type of response (list) */
   r->buffer[r->buffer_length+1]=0x01; /* version of response */
 
-  printf("Found %lld records.\n",r->source_count);
+  WHYF("Found %lld records.",r->source_count);
   /* Number of records we intend to return */
   r->buffer[r->buffer_length+4]=(r->source_count>>0)&0xff;
   r->buffer[r->buffer_length+5]=(r->source_count>>8)&0xff;
@@ -371,7 +370,7 @@ int rhizome_server_sql_query_http_response(int rn,rhizome_http_request *r,
   r->blob_column=strdup(column);
   r->blob_table=strdup(table);
 
-  printf("buffer_length=%d\n",r->buffer_length);
+  WHYF("buffer_length=%d",r->buffer_length);
 
   /* Populate spare space in buffer with rows of data */
   return rhizome_server_sql_query_fill_buffer(rn,r);
@@ -381,7 +380,7 @@ int rhizome_server_sql_query_fill_buffer(int rn,rhizome_http_request *r)
 {
   unsigned char blob_value[r->source_record_size*2+1];
 
-  printf("populating with sql rows at offset %d\n",r->buffer_length);
+  WHYF("populating with sql rows at offset %d",r->buffer_length);
   if (r->source_index>=r->source_count)
     {
       /* All done */
@@ -390,7 +389,7 @@ int rhizome_server_sql_query_fill_buffer(int rn,rhizome_http_request *r)
 
   int record_count=(r->buffer_size-r->buffer_length)/r->source_record_size;
   if (record_count<1) {
-    printf("r->buffer_size=%d, r->buffer_length=%d, r->source_record_size=%d\n",
+    WHYF("r->buffer_size=%d, r->buffer_length=%d, r->source_record_size=%d",
 	   r->buffer_size, r->buffer_length, r->source_record_size);
     return WHY("Not enough space to fit any records");
   }
@@ -427,7 +426,7 @@ int rhizome_server_sql_query_fill_buffer(int rn,rhizome_http_request *r)
       switch(column_type) {
       case SQLITE_TEXT:	value=sqlite3_column_text(statement, 0); break;
       case SQLITE_BLOB:
-	printf("table='%s',col='%s',rowid=%lld\n",
+	WHYF("table='%s',col='%s',rowid=%lld",
 	       r->blob_table,r->blob_column,
 	       sqlite3_column_int64(statement,1));
 	if (sqlite3_blob_open(rhizome_db,"main",r->blob_table,r->blob_column,
@@ -453,7 +452,7 @@ int rhizome_server_sql_query_fill_buffer(int rn,rhizome_http_request *r)
       default:
 	/* improper column type, so don't include in report */
 	WHY("Bad column type");
-	printf("colunnt_type=%d\n",column_type);
+	WHYF("colunnt_type=%d",column_type);
 	continue;
       }
       if (r->source_flags&1) {
@@ -468,7 +467,7 @@ int rhizome_server_sql_query_fill_buffer(int rn,rhizome_http_request *r)
 	bcopy(value,&r->buffer[r->buffer_length],r->source_record_size);
       r->buffer_length+=r->source_record_size;
       
-      printf("wrote row %lld, buffer_length=%d\n",
+      WHYF("wrote row %lld, buffer_length=%d",
 	     r->source_index,r->buffer_length);
     }
   sqlite3_finalize(statement);
@@ -496,21 +495,21 @@ int rhizome_server_parse_http_request(int rn,rhizome_http_request *r)
 		     strlen("GET /rhizome/groups HTTP/1.")))
       {
 	/* Return the list of known groups */
-	printf("get /rhizome/groups (list of groups)\n");
+	WHYF("get /rhizome/groups (list of groups)");
 	rhizome_server_sql_query_http_response(rn,r,"id","groups","from groups",32,1);
       }
     else if (!strncasecmp(r->request,"GET /rhizome/files HTTP/1.",
 		     strlen("GET /rhizome/files HTTP/1.")))
       {
 	/* Return the list of known files */
-	printf("get /rhizome/files (list of files)\n");
+	WHYF("get /rhizome/files (list of files)");
 	rhizome_server_sql_query_http_response(rn,r,"id","files","from files",32,1);
       }
     else if (!strncasecmp(r->request,"GET /rhizome/bars HTTP/1.",
 		     strlen("GET /rhizome/bars HTTP/1.")))
       {
 	/* Return the list of known files */
-	printf("get /rhizome/bars (list of BARs)\n");
+	WHYF("get /rhizome/bars (list of BARs)");
 	rhizome_server_sql_query_http_response(rn,r,"bar","manifests","from manifests",32,0);
       }
     else if (sscanf(r->request,"GET /rhizome/file/%s HTTP/1.",
@@ -520,7 +519,7 @@ int rhizome_server_parse_http_request(int rn,rhizome_http_request *r)
 	int dud=0;
 	int i;
 	hexFilter(id);
-	printf("get /rhizome/file/ [%s]\n",id);
+	WHYF("get /rhizome/file/ [%s]",id);
 	WHY("Check for range: header, and return 206 if returning partial content");
 	for(i=0;i<strlen(id);i++) if ((id[i]<'0')||(id[i]>'f')||(id[i]=='\'')) dud++;
 	if (dud) rhizome_server_simple_http_response(r,400,"<html><h1>That doesn't look like hex to me.</h1></html>\r\n");
@@ -555,7 +554,7 @@ int rhizome_server_parse_http_request(int rn,rhizome_http_request *r)
       {
 	/* Stream the specified manifest */
 	hexFilter(id);
-	printf("get /rhizome/manifest/ [%s]\n",id);
+	WHYF("get /rhizome/manifest/ [%s]",id);
 	rhizome_server_simple_http_response(r,400,"<html><h1>A specific manifest</h1></html>\r\n");      }
     else 
       rhizome_server_simple_http_response(r,400,"<html><h1>Sorry, couldn't parse your request.</h1></html>\r\n");
@@ -613,7 +612,7 @@ int rhizome_server_http_send_bytes(int rn,rhizome_http_request *r)
   int bytes;
   fcntl(r->socket,F_SETFL,fcntl(r->socket, F_GETFL, NULL)|O_NONBLOCK);
 
-  if (debug&DEBUG_RHIZOME) fprintf(stderr,"Request #%d, type=0x%x\n",rn,r->request_type);
+  if (debug&DEBUG_RHIZOME) WHYF("Request #%d, type=0x%x\n",rn,r->request_type);
 
   /* Flush anything out of the buffer if present, before doing any further
      processing */
@@ -622,7 +621,7 @@ int rhizome_server_http_send_bytes(int rn,rhizome_http_request *r)
       bytes=r->buffer_length-r->buffer_offset;
       bytes=write(r->socket,&r->buffer[r->buffer_offset],bytes);
       if (bytes>0) {
-	fprintf(stderr,"wrote %d bytes\n",bytes);
+	WHYF("wrote %d bytes\n",bytes);
 	dump("bytes written",&r->buffer[r->buffer_offset],bytes);
 	r->buffer_offset+=bytes;
 	if (r->buffer_offset>=r->buffer_length) {
@@ -633,7 +632,7 @@ int rhizome_server_http_send_bytes(int rn,rhizome_http_request *r)
 	    WHY("Finished sending data");
 	    return rhizome_server_close_http_request(rn);	  
 	  } else {
-	    if (debug&DEBUG_RHIZOME) { fprintf(stderr,"request type = 0x%x after sending buffer.\n",
+	    if (debug&DEBUG_RHIZOME) { WHYF("request type = 0x%x after sending buffer.",
 				   r->request_type);
 	    }
 	  }