Document the errors set by termkey_new(), use errno rather than fprintf() to stderr
This commit is contained in:
parent
9b20346dc3
commit
ee12c698da
|
@ -19,7 +19,6 @@ typedef struct {
|
||||||
static void register_csi_ss3_full(TermKeyType type, TermKeySym sym, int modifier_set, int modifier_mask, unsigned char cmd)
|
static void register_csi_ss3_full(TermKeyType type, TermKeySym sym, int modifier_set, int modifier_mask, unsigned char cmd)
|
||||||
{
|
{
|
||||||
if(cmd < 0x40 || cmd >= 0x80) {
|
if(cmd < 0x40 || cmd >= 0x80) {
|
||||||
fprintf(stderr, "Cannot register CSI/SS3 key at cmd 0x%02x - out of bounds\n", cmd);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,7 +36,6 @@ static void register_csi_ss3(TermKeyType type, TermKeySym sym, unsigned char cmd
|
||||||
static void register_ss3kpalt(TermKeyType type, TermKeySym sym, unsigned char cmd, char kpalt)
|
static void register_ss3kpalt(TermKeyType type, TermKeySym sym, unsigned char cmd, char kpalt)
|
||||||
{
|
{
|
||||||
if(cmd < 0x40 || cmd >= 0x80) {
|
if(cmd < 0x40 || cmd >= 0x80) {
|
||||||
fprintf(stderr, "Cannot register SS3 key at cmd 0x%02x - out of bounds\n", cmd);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -51,7 +49,6 @@ static void register_ss3kpalt(TermKeyType type, TermKeySym sym, unsigned char cm
|
||||||
static void register_csifunc(TermKeyType type, TermKeySym sym, int number)
|
static void register_csifunc(TermKeyType type, TermKeySym sym, int number)
|
||||||
{
|
{
|
||||||
if(number >= NCSIFUNCS) {
|
if(number >= NCSIFUNCS) {
|
||||||
fprintf(stderr, "Cannot register CSI function key at number %d - out of bounds\n", number);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,16 @@ If a file handle is provided, the terminfo driver may send a string to initialis
|
||||||
.SH VERSION CHECK MACRO
|
.SH VERSION CHECK MACRO
|
||||||
Before calling any functions in the \fBtermkey\fP library, an application should use the \fBTERMKEY_CHECK_VERSION\fP macro to check that the loaded version of the library is compatible with the version it was compiled against. This should be done early on, ideally just after entering its \fBmain\fP() function.
|
Before calling any functions in the \fBtermkey\fP library, an application should use the \fBTERMKEY_CHECK_VERSION\fP macro to check that the loaded version of the library is compatible with the version it was compiled against. This should be done early on, ideally just after entering its \fBmain\fP() function.
|
||||||
.SH "RETURN VALUE"
|
.SH "RETURN VALUE"
|
||||||
If successful, \fBtermkey_new\fP() returns a pointer to the new instance. On failure, \fBNULL\fP is returned. \fBtermkey_destroy\fP() returns no value.
|
If successful, \fBtermkey_new\fP() returns a pointer to the new instance. On failure, \fBNULL\fP is returned with \fIerrno\fP set to indicate the failure. \fBtermkey_destroy\fP() returns no value.
|
||||||
|
.SH ERRORS
|
||||||
|
.TP
|
||||||
|
.B ENOENT
|
||||||
|
No driver was able to recognise the given terminal type.
|
||||||
|
.TP
|
||||||
|
.B ENOMEM
|
||||||
|
A call to \fBmalloc\fP(3) failed to allocate memory.
|
||||||
|
.PP
|
||||||
|
Additionally, \fBtermkey_new\fP() may fail if \fBfstat\fP(2) or \fBwrite\fP(2) fails on the given file handle.
|
||||||
.SH "SEE ALSO"
|
.SH "SEE ALSO"
|
||||||
.BR termkey_waitkey (3),
|
.BR termkey_waitkey (3),
|
||||||
.BR termkey_advisereadable (3),
|
.BR termkey_advisereadable (3),
|
||||||
|
|
|
@ -266,7 +266,7 @@ static int termkey_init(TermKey *tk, const char *term)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tk->drivers) {
|
if(!tk->drivers) {
|
||||||
fprintf(stderr, "Unable to find a terminal driver\n");
|
errno = ENOENT;
|
||||||
goto abort_free_keynames;
|
goto abort_free_keynames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1114,7 +1114,7 @@ static TermKeySym register_c0(TermKey *tk, TermKeySym sym, unsigned char ctrl, c
|
||||||
static TermKeySym register_c0_full(TermKey *tk, TermKeySym sym, int modifier_set, int modifier_mask, unsigned char ctrl, const char *name)
|
static TermKeySym register_c0_full(TermKey *tk, TermKeySym sym, int modifier_set, int modifier_mask, unsigned char ctrl, const char *name)
|
||||||
{
|
{
|
||||||
if(ctrl >= 0x20) {
|
if(ctrl >= 0x20) {
|
||||||
fprintf(stderr, "Cannot register C0 key at ctrl 0x%02x - out of bounds\n", ctrl);
|
errno = EINVAL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue