/****************************************************************************
- * Copyright (c) 2002-2007,2008 Free Software Foundation, Inc. *
+ * Copyright (c) 2002-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* authorization. *
****************************************************************************/
/*
- * $Id: demo_defkey.c,v 1.19 2008/08/04 16:24:47 tom Exp $
+ * $Id: demo_defkey.c,v 1.26 2017/01/21 22:07:43 tom Exp $
*
* Demonstrate the define_key() function.
* Thomas Dickey - 2002/11/23
ch = UChar(ch);
assert(ch >= 0 && ch < 256);
if (ch == '\\') {
- strcpy(temp, "\\\\");
+ _nc_STRCPY(temp, "\\\\", sizeof(temp));
} else if (ch == '\033') {
- strcpy(temp, "\\E");
+ _nc_STRCPY(temp, "\\E", sizeof(temp));
} else if (ch < ' ') {
- sprintf(temp, "\\%03o", ch);
+ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "\\%03o", ch);
} else if (ch >= 127) {
- sprintf(temp, "\\%03o", ch);
+ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "\\%03o", ch);
} else {
- sprintf(temp, "%c", ch);
+ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "%c", ch);
}
return temp;
}
visible(const char *string)
{
char *result = 0;
- unsigned need = 1;
+ size_t need = 1;
int pass;
int n;
for (pass = 0; pass < 2; ++pass) {
for (n = 0; string[n] != '\0'; ++n) {
char temp[80];
- strcpy(temp, visichar(string[n]));
- if (pass)
- strcat(result, temp);
- else
+ _nc_STRNCPY(temp, visichar(string[n]), sizeof(temp) - 2);
+ if (pass) {
+ _nc_STRCAT(result, temp, need);
+ } else {
need += strlen(temp);
+ }
}
if (!pass)
result = typeCalloc(char, need);
}
} else {
- result = typeCalloc(char, 1);
+ result = typeCalloc(char, (size_t) 1);
}
return result;
}
char temp[80];
if (code_name == 0) {
- sprintf(temp, "Keycode %d", code);
+ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp)) "Keycode %d", code);
code_name = temp;
}
const char *prefix = 0;
char temp[BUFSIZ];
- if (!strncmp(value, "\033[", 2)) {
+ if (!strncmp(value, "\033[", (size_t) 2)) {
prefix = "\033O";
- } else if (!strncmp(value, "\033O", 2)) {
+ } else if (!strncmp(value, "\033O", (size_t) 2)) {
prefix = "\033[";
}
if (prefix != 0) {
- sprintf(temp, "%s%s", prefix, value + 2);
+ _nc_SPRINTF(temp, _nc_SLIMIT(sizeof(temp))
+ "%s%s", prefix, value + 2);
really_define_key(win, temp, code);
}
}
*/
for (n = 0; n < 12; ++n) {
char name[10];
- sprintf(name, "kf%d", n + 1);
+ _nc_SPRINTF(name, _nc_SLIMIT(sizeof(name)) "kf%d", n + 1);
fkeys[n] = tigetstr(name);
}
for (n = 0; n < 12; ++n) {