我怎样才能导致 "initscr" 与 ncurses 中断?
How can I cause a "initscr" break with ncurses?
我知道这是一个奇怪的问题,但我想得到提到的“initscr”函数错误by the doc(获取无效指针和 stderr 上的错误消息)来测试包装器是否正常工作。
但我找不到任何相关信息。我目前正在使用 ncurses 6.2。
经过一番研究,我发现无效指针实际上是一个NULL,而不是一个指向任何地方的空指针。
但是我无法破坏这个功能...
如果有人知道如何帮助我解决这个问题,请随时发表评论。
以下程序:
#include <curses.h>
#include <malloc.h>
#include <stdlib.h>
bool my_malloc_disabled;
void *malloc(size_t size) {
if (my_malloc_disabled) {
return NULL;
}
void *__libc_malloc(size_t);
return __libc_malloc(size);
}
int main() {
my_malloc_disabled = 1;
initscr();
}
会:
$ gcc file.c -lcurses
$ ./a.out
Error opening allocating $TERM.
我知道这是一个奇怪的问题,但我想得到提到的“initscr”函数错误by the doc(获取无效指针和 stderr 上的错误消息)来测试包装器是否正常工作。
但我找不到任何相关信息。我目前正在使用 ncurses 6.2。
经过一番研究,我发现无效指针实际上是一个NULL,而不是一个指向任何地方的空指针。
但是我无法破坏这个功能...
如果有人知道如何帮助我解决这个问题,请随时发表评论。
以下程序:
#include <curses.h>
#include <malloc.h>
#include <stdlib.h>
bool my_malloc_disabled;
void *malloc(size_t size) {
if (my_malloc_disabled) {
return NULL;
}
void *__libc_malloc(size_t);
return __libc_malloc(size);
}
int main() {
my_malloc_disabled = 1;
initscr();
}
会:
$ gcc file.c -lcurses
$ ./a.out
Error opening allocating $TERM.