]> www.infradead.org Git - users/borneoa/openocd-next.git/commitdiff
gdb_server: Improve const correctness
authorJan Matyas <jan.matyas@codasip.com>
Mon, 30 Sep 2024 12:55:58 +0000 (14:55 +0200)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 20 Oct 2024 09:25:25 +0000 (09:25 +0000)
On several packet-handling functions, add "const" to arguments
that represent read-only packet buffers.

For instance on GCC 13.2.0, this code:

const char *some_packet = "...";
gdb_put_packet(conn, some_packet, strlen(some_packet));

would prior to the fix produce warning:

passing argument 2 of ‘gdb_put_packet’ discards ‘const’
qualifier from pointer target type [-Wdiscarded-qualifiers]

Change-Id: Idb62f57d37ed323c39de38982e57afdd3882e280
Signed-off-by: Jan Matyas <jan.matyas@codasip.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8517
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
src/helper/log.c
src/helper/log.h
src/server/gdb_server.c
src/server/gdb_server.h

index 62ba4da4cdb9369806459d03dcb93338b8077352..9ad00ce628a4c550b3c2cd2f48d042470113aecc 100644 (file)
@@ -505,7 +505,7 @@ void log_socket_error(const char *socket_desc)
  * Find the first non-printable character in the char buffer, return a pointer to it.
  * If no such character exists, return NULL.
  */
-char *find_nonprint_char(char *buf, unsigned int buf_len)
+const char *find_nonprint_char(const char *buf, unsigned int buf_len)
 {
        for (unsigned int i = 0; i < buf_len; i++) {
                if (!isprint(buf[i]))
index 0f11cfa9a463154271a1cd31c239b09e08d94919..dc8df6fbb6d8c26dfb99b6c19cb3cb77102c4cb8 100644 (file)
@@ -89,7 +89,7 @@ char *alloc_vprintf(const char *fmt, va_list ap);
 char *alloc_printf(const char *fmt, ...)
        __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 1, 2)));
 
-char *find_nonprint_char(char *buf, unsigned int buf_len);
+const char *find_nonprint_char(const char *buf, unsigned int buf_len);
 
 extern int debug_level;
 
index c1e5e268fb979c75a51e8c81ddc1de7416f49607..579a388d2557efc5001727e4f552d7498ab7faec 100644 (file)
@@ -335,7 +335,7 @@ static int gdb_putback_char(struct connection *connection, int last_char)
 /* The only way we can detect that the socket is closed is the first time
  * we write to it, we will fail. Subsequent write operations will
  * succeed. Shudder! */
-static int gdb_write(struct connection *connection, void *data, int len)
+static int gdb_write(struct connection *connection, const void *data, int len)
 {
        struct gdb_connection *gdb_con = connection->priv;
        if (gdb_con->closed) {
@@ -351,7 +351,7 @@ static int gdb_write(struct connection *connection, void *data, int len)
        return ERROR_SERVER_REMOTE_CLOSED;
 }
 
-static void gdb_log_incoming_packet(struct connection *connection, char *packet)
+static void gdb_log_incoming_packet(struct connection *connection, const char *packet)
 {
        if (!LOG_LEVEL_IS(LOG_LVL_DEBUG))
                return;
@@ -384,7 +384,7 @@ static void gdb_log_incoming_packet(struct connection *connection, char *packet)
        }
 }
 
-static void gdb_log_outgoing_packet(struct connection *connection, char *packet_buf,
+static void gdb_log_outgoing_packet(struct connection *connection, const char *packet_buf,
        unsigned int packet_len, unsigned char checksum)
 {
        if (!LOG_LEVEL_IS(LOG_LVL_DEBUG))
@@ -402,7 +402,7 @@ static void gdb_log_outgoing_packet(struct connection *connection, char *packet_
 }
 
 static int gdb_put_packet_inner(struct connection *connection,
-               char *buffer, int len)
+               const char *buffer, int len)
 {
        int i;
        unsigned char my_checksum = 0;
@@ -522,7 +522,7 @@ static int gdb_put_packet_inner(struct connection *connection,
        return ERROR_OK;
 }
 
-int gdb_put_packet(struct connection *connection, char *buffer, int len)
+int gdb_put_packet(struct connection *connection, const char *buffer, int len)
 {
        struct gdb_connection *gdb_con = connection->priv;
        gdb_con->busy = true;
index 4288ceb878e47015e63870e619160255abcd1cf0..1a626ebd94a7567324300ae4a27f9a3e7cd317d6 100644 (file)
@@ -28,7 +28,7 @@ int gdb_target_add_all(struct target *target);
 int gdb_register_commands(struct command_context *command_context);
 void gdb_service_free(void);
 
-int gdb_put_packet(struct connection *connection, char *buffer, int len);
+int gdb_put_packet(struct connection *connection, const char *buffer, int len);
 
 int gdb_get_actual_connections(void);