// String Escape Copy
static void strescpy(char * d, char * s)
{
- int j, k;
- j = k = 0;
- while(s[j])
+ int j = 0, k = 0;
+ char ch;
+ while((ch = s[j]))
{
- switch(s[j])
+ switch(ch)
{
- case '\n':
- d[k] = '\\';
- d[++k] = 'n';
- break;
- case '\t':
- d[k] = '\\';
- d[++k] = 't';
- break;
- case '\a':
- d[k] = '\\';
- d[++k] = 'a';
- break;
- case '\b':
- d[k] = '\\';
- d[++k] = 'b';
- break;
- case '\f':
- d[k] = '\\';
- d[++k] = 'f';
- break;
- case '\r':
- d[k] = '\\';
- d[++k] = 'r';
- break;
- case '\v':
- d[k] = '\\';
- d[++k] = 'v';
- break;
- case '\\':
- d[k] = '\\';
- d[++k] = '\\';
- break;
- case '\"':
- d[k] = '\\';
- d[++k] = '\"';
- break;
- default:
- d[k] = s[j];
+ case '\n': d[k] = '\\'; d[++k] = 'n'; break;
+ case '\t': d[k] = '\\'; d[++k] = 't'; break;
+ case '\a': d[k] = '\\'; d[++k] = 'a'; break;
+ case '\b': d[k] = '\\'; d[++k] = 'b'; break;
+ case '\f': d[k] = '\\'; d[++k] = 'f'; break;
+ case '\r': d[k] = '\\'; d[++k] = 'r'; break;
+ case '\v': d[k] = '\\'; d[++k] = 'v'; break;
+ case '\\': d[k] = '\\'; d[++k] = '\\'; break;
+ case '\"': d[k] = '\\'; d[++k] = '\"'; break;
+ default: d[k] = s[j];
}
- ++j;
- ++k;
+ j++, k++;
}
- d[k] = s[j];
+ d[k] = '\0';
}
static char * CopyUnescapedSystemPath(char * p)
static void struscpy(char * d, char * s)
{
- int j, k;
- j = k = 0;
- while(s[j])
+ int j = 0, k = 0;
+ char ch;
+ while((ch = s[j]))
{
- switch(s[j])
+ switch(ch)
{
case '\\':
switch(s[++j])
{
- case 'n':
- d[k] = '\n';
- break;
- case 't':
- d[k] = '\t';
- break;
- case 'a':
- d[k] = '\a';
- break;
- case 'b':
- d[k] = '\b';
- break;
- case 'f':
- d[k] = '\f';
- break;
- case 'r':
- d[k] = '\r';
- break;
- case 'v':
- d[k] = '\v';
- break;
- case '\\':
- d[k] = '\\';
- break;
- case '\"':
- d[k] = '\"';
- break;
- default:
- d[k] = '\\';
- d[++k] = s[j];
+ case 'n': d[k] = '\n'; break;
+ case 't': d[k] = '\t'; break;
+ case 'a': d[k] = '\a'; break;
+ case 'b': d[k] = '\b'; break;
+ case 'f': d[k] = '\f'; break;
+ case 'r': d[k] = '\r'; break;
+ case 'v': d[k] = '\v'; break;
+ case '\\': d[k] = '\\'; break;
+ case '\"': d[k] = '\"'; break;
+ default: d[k] = '\\'; d[++k] = s[j];
}
break;
default:
d[k] = s[j];
}
- ++j;
- ++k;
+ j++, k++;
}
- d[k] = s[j];
+ d[k] = '\0';
}
static char * StripBrackets(char * string)
*equal = '\0';
equal++;
item.value = equal;
- equal = null;
return true;
}
- else
- return false;
+ return false;
}
static bool CheckCommandAvailable(const char * command)
if(fl.stats.attribs.isFile && !fstrcmp(fl.name, name))
{
available = true;
+ fl.Stop();
break;
}
}
if(bp)
_dpl2(_dpct, dplchan::debuggerBreakpoints, 0, "gdb stopped by a breakpoint: ", bp.type, "(", s=bp.CopyLocationString(false), ")"); delete s;
}
+ delete bpReport;
}
#endif
}
event = none;
breakType = none;
- stopItem = null;
- bpItem = null;
+ delete stopItem;
+ delete bpItem;
activeFrame = 0;
bpRunToCursor = null;
_dpl2(_dpct, dplchan::gdbProtoUnknown, 0, "breakpoint member (", item.name, "=", item.value, ") is unheard of");
}
}
+ delete bpTokens;
+ delete item;
return bp;
}
if(bp.bp)
_dpl(0, "problem");
#endif
+ delete bp.bp;
bp.bp = GdbDataBreakpoint { };
}
}
{
GdbCommand(false, "-break-delete %s", bp.bp.number);
bp.inserted = false;
+ delete bp.bp;
bp.bp = { };
}
}
bpItem.multipleBPs.Free();
delete bpItem.multipleBPs;
}
+ delete bp.bp;
bp.bp = bpItem;
bpItem = null;
bp.inserted = (bp.bp && bp.bp.number && strcmp(bp.bp.number, "0"));
if(bpItem)
_dpl(0, "problem");
#endif
+ delete bpItem;
bpItem = ParseBreakpoint(item.value, outTokens);
//breakType = bpValidation;
}
DirExpression targetDirExp = prj.GetTargetDir(currentCompiler, prj.config, bitDepth);
strcpy(prjTargetPath, prj.topNode.path);
PathCat(prjTargetPath, targetDirExp.dir);
+ delete targetDirExp;
prjTargetFile[0] = '\0';
prj.CatTargetFileName(prjTargetFile, currentCompiler, prj.config);
PathCat(prjTargetPath, prjTargetFile);
delete at;
if(multipleBPs) multipleBPs.Free();
delete multipleBPs;
+ delete number;
+ delete fullname;
}
~GdbDataBreakpoint()