📄 ptrs.prop
字号:
voiduno_check(void){ if (select("", DECL, ARRAY_DECL)) if (refine(DEREF, DEF)) { mark(1); // mark uninitialized pointer vars// list("mark 1"); // debugging } if (select("", USE|DEF, NONE)) if (refine(DEREF, ALIAS)) if (match(1, ANY, NONE)) { if (known_zero()) error("dereferencing uninitialized ptr"); else { if (known_nonzero()) no_error(); else error("dereferencing possibly uninitialized ptr"); } } if (select("", DEF, DEREF)) if (match(1, ANY, NONE)) { mark(2); // initialized ptrs are marked 2// list("mark 2"); } if (select("free", FCALL, NONE)) if (select("", USE, NONE)) if (match(1, ANY, NONE)) error("freeing an uninitialized ptr"); if (select("free", FCALL, NONE)) if (select("", USE, NONE)) if (match(2, ANY, NONE)) { mark(1); // this ptr is now uninitialized again// list("remark 1"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -