buf[0] = STLINK_GET_VERSION;
buf[1] = 0x80;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 6);
if (size == -1) {
printf("[!] send_recv\n");
return;
write_uint16(cmd_buf + 6, len);
send_only(slu, cmd_buf, STLINK_CMD_SIZE);
+#if Q_BUF_LEN < UINT16_MAX
+ assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true?
+#endif
assert((len & 3) == 0);
- stlink_print_data(sl);
send_only(slu, buf, len);
}
write_uint16(cmd_buf + 6, len);
send_only(slu, cmd_buf, STLINK_CMD_SIZE);
- stlink_print_data(sl);
+#if Q_BUF_LEN < UINT16_MAX
+ assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true?
+#endif
send_only(slu, buf, len);
}
ssize_t size;
memset(buf, 0, sizeof (sl->q_buf));
buf[0] = STLINK_GET_CURRENT_MODE;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return -1;
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_READCOREID;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 4);
if (size == -1) {
printf("[!] send_recv\n");
return;
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_GETSTATUS;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return;
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_FORCEDEBUG;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return;
buf[1] = STLINK_SWD_ENTER;
buf[2] = STLINK_DEBUG_ENTER_SWD;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return;
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_STEPCORE;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return;
buf[0] = STLINK_DEBUG_COMMAND;
buf[1] = STLINK_DEBUG_RUNCORE;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, 2);
if (size == -1) {
printf("[!] send_recv\n");
return;
unsigned char* const buf = sl->q_buf;
ssize_t size;
- /* assume len < sizeof(sl->q_buf) */
- assert(len < sizeof(sl->q_buf)); // makes a compiler warning? always true?
+#if Q_BUF_LEN < UINT16_MAX
+ assert(len < sizeof(sl->q_buf));
+#endif
memset(buf, 0, sizeof (sl->q_buf));
buf[0] = STLINK_DEBUG_COMMAND;
assert (len < 256);
buf[6] = (uint8_t) len;
- size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, sizeof (sl->q_buf));
+ size = send_recv(slu, buf, STLINK_CMD_SIZE, buf, len);
if (size == -1) {
printf("[!] send_recv\n");
return;