PERFORCE change 121251 for review
Andrew Turner
andrew at FreeBSD.org
Sat Jun 9 07:46:21 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=121251
Change 121251 by andrew at 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));
+ }
}
More information about the p4-projects
mailing list