Date: Sat, 9 Jun 2007 07:46:20 GMT From: Andrew Turner <andrew@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 121251 for review Message-ID: <200706090746.l597kKv2014292@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=121251 Change 121251 by andrew@andrew_hermies on 2007/06/09 07:45:46 - Listen for a close of element signal from libbsdxml - Send a server close message when the connection is being closed by the client - Comment out the returning the send data element Affected files ... .. //depot/projects/soc2007/andrew-update/lib/facund_server.c#3 edit Differences ... ==== //depot/projects/soc2007/andrew-update/lib/facund_server.c#3 (text+ko) ==== @@ -35,6 +35,7 @@ #define BUF_SIZE 128 static void facund_server_start_tag(void *, const XML_Char *, const XML_Char**); +static void facund_server_end_tag(void *, const XML_Char *); /* * Waits for a client to connect and send the start message @@ -54,6 +55,7 @@ XML_SetUserData(conn->parser, conn); XML_SetStartElementHandler(conn->parser, facund_server_start_tag); + XML_SetEndElementHandler(conn->parser, facund_server_end_tag); str = "<facund-server version=\"0\">"; facund_send(conn, str, strlen(str)); @@ -106,11 +108,29 @@ const XML_Char **attrs __unused) { struct facund_conn *conn; + //char str[1024]; + + printf("> %s\n", name); + conn = data; + + //snprintf(str, 1024, "<data val=\"%s\"/>", name); + //facund_send(conn, str, strlen(str)); +} + +static void +facund_server_end_tag(void *data, const XML_Char *name) +{ + struct facund_conn *conn; char str[1024]; - printf("> %s\n", name); + printf("< %s\n", name); conn = data; - snprintf(str, 1024, "<data val=\"%s\"/>", name); - facund_send(conn, str, strlen(str)); + if (strcmp(name, "facund-client") == 0) { + snprintf(str, 1024, "</facund-server>"); + facund_send(conn, str, strlen(str)); + } else { + snprintf(str, 1024, "<data val=\"%s\"/>", name); + facund_send(conn, str, strlen(str)); + } }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706090746.l597kKv2014292>