MCPcopy Create free account
hub / github.com/Marus/cortex-debug / parseCString

Function parseCString

src/backend/gdb_expansion.ts:33–60  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

31// tslint:disable-next-line:ban-types
32export function expandValue(variableCreate: Function, value: string, root: string = '', extra?: any): any {
33 const parseCString = () => {
34 value = value.trim();
35 if (value[0] !== '"' && value[0] !== '\'') {
36 return '';
37 }
38 let stringEnd = 1;
39 let inString = true;
40 const charStr = value[0];
41 let remaining = value.substr(1);
42 let escaped = false;
43 while (inString) {
44 if (escaped) {
45 escaped = false;
46 }
47 else if (remaining[0] === '\\') {
48 escaped = true;
49 }
50 else if (remaining[0] === charStr) {
51 inString = false;
52 }
53
54 remaining = remaining.substr(1);
55 stringEnd++;
56 }
57 const str = value.substr(0, stringEnd).trim();
58 value = value.substr(stringEnd).trim();
59 return str;
60 };
61
62 const stack = [root];
63 let parseValue;

Callers 2

parsePrimitiveFunction · 0.70
expandValueFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected