uIP 1.0 based webserver for LPC1114 + ENC28J60

Dependencies:   mbed TMP102

Revision:
3:a2715e9c7737
Parent:
2:4da9ed411bdc
--- a/apps/webserver/httpd-cgi.cpp	Sat Jun 21 11:54:24 2014 +0000
+++ b/apps/webserver/httpd-cgi.cpp	Mon Jun 30 16:00:08 2014 +0000
@@ -137,12 +137,12 @@
   conn = &uip_conns[s->count];
   return snprintf((char *)uip_appdata, UIP_APPDATA_SIZE,
 		 "<tr><td>%d</td><td>%u.%u.%u.%u:%u</td><td>%s</td><td>%u</td><td>%u</td><td>%c %c</td></tr>\n",
-		 htons(conn->lport),
-		 htons(conn->ripaddr[0]) >> 8,
-		 htons(conn->ripaddr[0]) & 0xff,
-		 htons(conn->ripaddr[1]) >> 8,
-		 htons(conn->ripaddr[1]) & 0xff,
-		 htons(conn->rport),
+		 uip_htons(conn->lport),
+         conn->ripaddr.u8[0],
+         conn->ripaddr.u8[1],
+         conn->ripaddr.u8[2],
+         conn->ripaddr.u8[3],
+		 uip_htons(conn->rport),
 		 states[conn->tcpstateflags & UIP_TS_MASK],
 		 conn->nrtx,
 		 conn->timer,
@@ -190,15 +190,20 @@
   PSOCK_END(&s->sout);
 }
 /*---------------------------------------------------------------------------*/
+static unsigned short
+generate_tmp102_stats(void *arg)
+{
+  struct httpd_state *s = (struct httpd_state *)arg;
+  return snprintf((char *)uip_appdata, UIP_APPDATA_SIZE,
+		  "%f", tmp102.read());
+}
+
 static
 PT_THREAD(tmp102_stats(struct httpd_state *s, char *ptr))
 {
-  char buff[10];
-  
   PSOCK_BEGIN(&s->sout);
 
-  sprintf(buff, "%f", tmp102.read());
-  PSOCK_SEND_STR(&s->sout, buff);
+  PSOCK_GENERATOR_SEND(&s->sout, generate_tmp102_stats, s);
   
   PSOCK_END(&s->sout);
 }