示例#1
0
CALLER_OWN char *owl_keybinding_stack_tostring(int *j, int len)
{
  GString *string;
  int  i;

  string = g_string_new("");
  for (i = 0; i < len; i++) {
    char *keypress = owl_keypress_tostring(j[i], 0);
    g_string_append(string, keypress ? keypress : "INVALID");
    g_free(keypress);
    if (i < len - 1) g_string_append_c(string, ' ');
  }
  return g_string_free(string, false);
}
示例#2
0
/* returns 0 on success */
int owl_keybinding_stack_tostring(int *j, int len, char *buff, int bufflen)
{
  char *pos = buff;
  int   rem = bufflen;
  int   i, n;

  for (i=0; i < len; i++) {
    owl_keypress_tostring(j[i], 0, pos, rem-1);
    if (i < len - 1) strcat(pos, " ");
    n = strlen(pos);
    pos += n;
    rem -= n;
  }
  return 0;
}