Introduced wrapper macros snew(), snewn() and sresize() for the
[u/mdw/putty] / testback.c
index f3e7614..e24217c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: testback.c,v 1.3 2002/11/23 19:58:55 ben Exp $ */
+/* $Id: testback.c,v 1.7 2003/03/29 16:14:26 simon Exp $ */
 /*
  * Copyright (c) 1999 Simon Tatham
  * Copyright (c) 1999 Ben Harris
 
 #include "putty.h"
 
-static char *null_init(void *, void **, char *, int, char **, int);
-static char *loop_init(void *, void **, char *, int, char **, int);
+static char *null_init(void *, void **, Config *, char *, int, char **, int);
+static char *loop_init(void *, void **, Config *, char *, int, char **, int);
+static void null_free(void *);
+static void loop_free(void *);
+static void null_reconfig(void *, Config *);
 static int null_send(void *, char *, int);
 static int loop_send(void *, char *, int);
 static int null_sendbuffer(void *);
@@ -49,15 +52,15 @@ static void null_provide_logctx(void *, void *);
 static void null_unthrottle(void *, int);
 
 Backend null_backend = {
-    null_init, null_send, null_sendbuffer, null_size, null_special,
-    null_socket, null_exitcode, null_sendok, null_ldisc, null_provide_ldisc,
-    null_provide_logctx, null_unthrottle, 0
+    null_init, null_free, null_reconfig, null_send, null_sendbuffer, null_size,
+    null_special, null_socket, null_exitcode, null_sendok, null_ldisc,
+    null_provide_ldisc, null_provide_logctx, null_unthrottle, 0
 };
 
 Backend loop_backend = {
-    loop_init, loop_send, null_sendbuffer, null_size, null_special,
-    null_socket, null_exitcode, null_sendok, null_ldisc, null_provide_ldisc,
-    null_provide_logctx, null_unthrottle, 0
+    loop_init, loop_free, null_reconfig, loop_send, null_sendbuffer, null_size,
+    null_special, null_socket, null_exitcode, null_sendok, null_ldisc,
+    null_provide_ldisc, null_provide_logctx, null_unthrottle, 0
 };
 
 struct loop_state {
@@ -65,20 +68,37 @@ struct loop_state {
 };
 
 static char *null_init(void *frontend_handle, void **backend_handle,
-                      char *host, int port, char **realhost, int nodelay) {
+                      Config *cfg, char *host, int port, char **realhost,
+                      int nodelay) {
 
     return NULL;
 }
 
 static char *loop_init(void *frontend_handle, void **backend_handle,
-                      char *host, int port, char **realhost, int nodelay) {
-    struct loop_state *st = smalloc(sizeof(*st));
+                      Config *cfg, char *host, int port, char **realhost,
+                      int nodelay) {
+    struct loop_state *st = snew(struct loop_state);
 
     st->term = frontend_handle;
     *backend_handle = st;
     return NULL;
 }
 
+static void null_free(void *handle)
+{
+
+}
+
+static void loop_free(void *handle)
+{
+
+    sfree(handle);
+}
+
+static void null_reconfig(void *handle, Config *cfg) {
+
+}
+
 static int null_send(void *handle, char *buf, int len) {
 
     return 0;
@@ -86,12 +106,7 @@ static int null_send(void *handle, char *buf, int len) {
 
 static int loop_send(void *handle, char *buf, int len) {
     struct loop_state *st = handle;
-    int i;
 
-    fprintf(stderr, "%d chars: ", len);
-    for (i = 0; i < len; i++)
-       fprintf(stderr, " 0x%x", buf[i]);
-    fprintf(stderr, "\n");
     return from_backend(st->term, 0, buf, len);
 }