server: review unused symbols
[fw/openocd] / src / server / telnet_server.c
index 929c1c16efd8fe333ee2627c5547a802e1a10b25..94c89431b977faf5e466e82955688d61b8f554cd 100644 (file)
@@ -62,7 +62,6 @@ int telnet_prompt(struct connection *connection)
 {
        struct telnet_connection *t_con = connection->priv;
 
-       telnet_write(connection, "\r", 1); /* the prompt is always placed at the line beginning */
        return telnet_write(connection, t_con->prompt, strlen(t_con->prompt));
 }
 
@@ -116,10 +115,12 @@ void telnet_log_callback(void *priv, const char *file, unsigned line,
        }
 
        /* clear the command line */
-       telnet_write(connection, "\r", 1);
+       for (i = strlen(t_con->prompt) + t_con->line_size; i > 0; i -= 16)
+               telnet_write(connection, "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b", i > 16 ? 16 : i);
        for (i = strlen(t_con->prompt) + t_con->line_size; i > 0; i -= 16)
                telnet_write(connection, "                ", i > 16 ? 16 : i);
-       telnet_write(connection, "\r", 1);
+       for (i = strlen(t_con->prompt) + t_con->line_size; i > 0; i -= 16)
+               telnet_write(connection, "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b", i > 16 ? 16 : i);
 
        /* output the message */
        telnet_outputline(connection, string);
@@ -160,6 +161,7 @@ int telnet_new_connection(struct connection *connection)
                telnet_write(connection, "\r\n", 2);
        }
 
+       telnet_write(connection, "\r", 1); /* the prompt is always placed at the line beginning */
        telnet_prompt(connection);
 
        /* initialize history */
@@ -195,8 +197,8 @@ void telnet_clear_line(struct connection *connection, struct telnet_connection *
 int telnet_input(struct connection *connection)
 {
        int bytes_read;
-       char buffer[TELNET_BUFFER_SIZE];
-       char *buf_p;
+       unsigned char buffer[TELNET_BUFFER_SIZE];
+       unsigned char *buf_p;
        struct telnet_connection *t_con = connection->priv;
        struct command_context *command_context = connection->cmd_ctx;
 
@@ -216,7 +218,7 @@ int telnet_input(struct connection *connection)
                switch (t_con->state)
                {
                        case TELNET_STATE_DATA:
-                               if (*buf_p == '\xff')
+                               if (*buf_p == 0xff)
                                {
                                        t_con->state = TELNET_STATE_IAC;
                                }
@@ -331,6 +333,7 @@ int telnet_input(struct connection *connection)
                                                        if (retval == ERROR_COMMAND_CLOSE_CONNECTION)
                                                                return ERROR_SERVER_REMOTE_CLOSED;
 
+                                                       telnet_write(connection, "\r", 1); /* the prompt is always placed at the line beginning */
                                                        retval = telnet_prompt(connection);
                                                        if (retval == ERROR_SERVER_REMOTE_CLOSED)
                                                                return ERROR_SERVER_REMOTE_CLOSED;
@@ -395,16 +398,16 @@ int telnet_input(struct connection *connection)
                        case TELNET_STATE_IAC:
                                switch (*buf_p)
                                {
-                                       case '\xfe':
+                                       case 0xfe:
                                                t_con->state = TELNET_STATE_DONT;
                                                break;
-                                       case '\xfd':
+                                       case 0xfd:
                                                t_con->state = TELNET_STATE_DO;
                                                break;
-                                       case '\xfc':
+                                       case 0xfc:
                                                t_con->state = TELNET_STATE_WONT;
                                                break;
-                                       case '\xfb':
+                                       case 0xfb:
                                                t_con->state = TELNET_STATE_WILL;
                                                break;
                                }
@@ -619,17 +622,18 @@ COMMAND_HANDLER(handle_exit_command)
 static const struct command_registration telnet_command_handlers[] = {
        {
                .name = "exit",
-               .handler = &handle_exit_command,
+               .handler = handle_exit_command,
                .mode = COMMAND_EXEC,
                .help = "exit telnet session",
        },
        {
                .name = "telnet_port",
-               .handler = &handle_telnet_port_command,
+               .handler = handle_telnet_port_command,
                .mode = COMMAND_ANY,
-               .help = "port on which to listen "
-                       "for incoming telnet connections",
-               .usage = "<port>",
+               .help = "Specify port on which to listen "
+                       "for incoming telnet connections.  "
+                       "No arguments reports telnet port; zero disables.",
+               .usage = "[port_num]",
        },
        COMMAND_REGISTRATION_DONE
 };