mirror of
https://github.com/QB64Official/qb64.git
synced 2024-07-05 00:40:26 +00:00
Changes communication protocol so it doesn't rely on end markers.
The message length precedes the message, so no <END> marker is required anymore.
This commit is contained in:
parent
97c7d164c9
commit
ecfb439ff0
|
@ -5,8 +5,8 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
|||
STATIC AS LONG vw_runToLine
|
||||
STATIC AS _BYTE vw_pauseMode, vw_stepOver, vw_bypass, vw_setNextLine, vw_hwndsent
|
||||
STATIC AS _OFFSET vw_idehwnd
|
||||
STATIC vw_buffer$, vw_endc$
|
||||
DIM AS LONG vw_i, vw_tempIndex, vw_localIndex, vw_varSize, vw_sequence
|
||||
STATIC vw_buffer$
|
||||
DIM AS LONG vw_i, vw_tempIndex, vw_localIndex, vw_varSize, vw_sequence, vw_cmdsize
|
||||
DIM AS _OFFSET vw_address
|
||||
DIM AS _MEM vw_m, vw_m2
|
||||
DIM vw_start!, vw_temp$, vw_cmd$, vw_value$, vw_k&, vw_buf$, vw_scope$
|
||||
|
@ -31,7 +31,6 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
|||
|
||||
IF vw_ideHost = 0 THEN
|
||||
vw_timeout = 10
|
||||
vw_endc$ = "<END>"
|
||||
|
||||
'initial setup
|
||||
GOSUB Connect
|
||||
|
@ -360,9 +359,10 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
|||
GET #vw_ideHost, , vw_temp$
|
||||
vw_buffer$ = vw_buffer$ + vw_temp$
|
||||
|
||||
IF INSTR(vw_buffer$, vw_endc$) THEN
|
||||
vw_cmd$ = LEFT$(vw_buffer$, INSTR(vw_buffer$, vw_endc$) - 1)
|
||||
vw_buffer$ = MID$(vw_buffer$, INSTR(vw_buffer$, vw_endc$) + LEN(vw_endc$))
|
||||
IF LEN(vw_buffer$) >= 4 THEN vw_cmdsize = CVL(LEFT$(vw_buffer$, 4)) ELSE vw_cmdsize = 0
|
||||
IF vw_cmdsize > 0 AND LEN(vw_buffer$) >= vw_cmdsize THEN
|
||||
vw_cmd$ = MID$(vw_buffer$, 5, vw_cmdsize)
|
||||
vw_buffer$ = MID$(vw_buffer$, 5 + vw_cmdsize)
|
||||
|
||||
IF INSTR(vw_cmd$, ":") THEN
|
||||
vw_value$ = MID$(vw_cmd$, INSTR(vw_cmd$, ":") + 1)
|
||||
|
@ -391,7 +391,7 @@ SUB vwatch (globalVariables AS _OFFSET, localVariables AS _OFFSET)
|
|||
RETURN
|
||||
|
||||
SendCommand:
|
||||
vw_cmd$ = vw_cmd$ + vw_endc$
|
||||
vw_cmd$ = MKL$(LEN(vw_cmd$)) + vw_cmd$
|
||||
PUT #vw_ideHost, , vw_cmd$
|
||||
vw_cmd$ = ""
|
||||
RETURN
|
||||
|
|
|
@ -6343,7 +6343,6 @@ END SUB
|
|||
SUB DebugMode
|
||||
STATIC AS _BYTE PauseMode, noFocusMessage, EnteredInput
|
||||
STATIC buffer$
|
||||
STATIC endc$
|
||||
STATIC currentSub$
|
||||
STATIC debuggeehwnd AS _OFFSET
|
||||
|
||||
|
@ -6461,8 +6460,6 @@ SUB DebugMode
|
|||
END IF
|
||||
END IF
|
||||
|
||||
endc$ = "<END>"
|
||||
|
||||
'wait for client to connect
|
||||
start! = TIMER
|
||||
DO
|
||||
|
@ -7554,9 +7551,10 @@ SUB DebugMode
|
|||
END IF
|
||||
buffer$ = buffer$ + temp$
|
||||
|
||||
IF INSTR(buffer$, endc$) THEN
|
||||
cmd$ = LEFT$(buffer$, INSTR(buffer$, endc$) - 1)
|
||||
buffer$ = MID$(buffer$, INSTR(buffer$, endc$) + LEN(endc$))
|
||||
IF LEN(buffer$) >= 4 THEN cmdsize = CVL(LEFT$(buffer$, 4)) ELSE cmdsize = 0
|
||||
IF cmdsize > 0 AND LEN(buffer$) >= cmdsize THEN
|
||||
cmd$ = MID$(buffer$, 5, cmdsize)
|
||||
buffer$ = MID$(buffer$, 5 + cmdsize)
|
||||
|
||||
IF INSTR(cmd$, ":") THEN
|
||||
value$ = MID$(cmd$, INSTR(cmd$, ":") + 1)
|
||||
|
@ -7570,7 +7568,7 @@ SUB DebugMode
|
|||
RETURN
|
||||
|
||||
SendCommand:
|
||||
cmd$ = cmd$ + endc$
|
||||
cmd$ = MKL$(LEN(cmd$)) + cmd$
|
||||
PUT #debugClient&, , cmd$
|
||||
IF os$ = "WIN" AND _CONNECTED(debugClient&) = 0 THEN
|
||||
clearStatusWindow 0
|
||||
|
|
Loading…
Reference in a new issue