#include <stdio.h>
#include <ctype.h>
#include <wctype.h>
+
+#define PANE_DATA_TYPE struct rline_data
#include "core.h"
#include "misc.h"
const char *line;
int curspos;
};
+#include "core-pane.h"
enum {
OK = 0,
DEF_CMD(renderline)
{
struct pane *p = ci->home;
- struct rline_data *rd = p->data;
+ struct rline_data *rd = &p->data;
struct pane *focus = ci->focus;
const char *line = rd->line;
int dodraw = (strcmp(ci->key, "render-line:draw") == 0 ||
DEF_CMD(renderline_get)
{
- struct rline_data *rd = ci->home->data;
+ struct rline_data *rd = &ci->home->data;
char buf[20];
const char *val = buf;
DEF_CMD(renderline_set)
{
- struct rline_data *rd = ci->home->data;
+ struct rline_data *rd = &ci->home->data;
const char *old = rd->line;
struct xy xyscale = pane_scale(ci->focus);
DEF_CMD(renderline_close)
{
- struct rline_data *rd = ci->home->data;
+ struct rline_data *rd = &ci->home->data;
free((void*)rd->xyattr);
free((void*)rd->line);
DEF_CMD(renderline_attach)
{
- struct rline_data *rd;
struct pane *p;
if (!rl_map) {
key_add(rl_map, "Free", &edlib_do_free);
}
- alloc(rd, pane);
- p = pane_register(ci->focus, ci->num, &renderline_handle.c, rd);
- if (!p) {
- unalloc(rd, pane);
+ p = pane_register(ci->focus, ci->num, &renderline_handle.c);
+ if (!p)
return Efail;
- }
+
return comm_call(ci->comm2, "cb", p);
}