reduce scope of variables
This commit is contained in:
parent
3172c2cf30
commit
0b48853597
|
@ -58,7 +58,6 @@ about_show(Evas_Object *win, Evas_Object *base, Evas_Object *term,
|
|||
Evas_Object *o;
|
||||
About_Ctx *ctx;
|
||||
Config *config = termio_config_get(term);
|
||||
char buf[PATH_MAX];
|
||||
const char *txt;
|
||||
|
||||
ctx = malloc(sizeof(*ctx));
|
||||
|
@ -74,6 +73,8 @@ about_show(Evas_Object *win, Evas_Object *base, Evas_Object *term,
|
|||
if (elm_layout_file_set(o, config_theme_path_get(config),
|
||||
"terminology/about") == 0)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/themes/default.edj",
|
||||
elm_app_data_dir_get());
|
||||
elm_layout_file_set(o, buf, "terminology/about");
|
||||
|
|
|
@ -385,14 +385,14 @@ colors_term_init(Evas_Object *textgrid,
|
|||
const Evas_Object *bg,
|
||||
const Config *config)
|
||||
{
|
||||
int c, n;
|
||||
int c;
|
||||
char buf[32];
|
||||
int r, g , b, a;
|
||||
const Color *color;
|
||||
|
||||
for (c = 0; c < (4 * 12); c++)
|
||||
{
|
||||
n = c + (24 * (c / 24));
|
||||
int n = c + (24 * (c / 24));
|
||||
if (config->colors_use)
|
||||
{
|
||||
r = config->colors[c].r;
|
||||
|
|
|
@ -48,7 +48,6 @@ _ipc_hash_get(void)
|
|||
const char *disp, *session, *xdg_session, *xdg_id, *xdg_seat, *xdg_vt;
|
||||
char *s;
|
||||
unsigned int i;
|
||||
unsigned char c1, c2;
|
||||
|
||||
/* dumb stoopid hash - i'm feeling lazy */
|
||||
disp = getenv("DISPLAY");
|
||||
|
@ -70,6 +69,8 @@ _ipc_hash_get(void)
|
|||
memset(hash+12, 'x', 32);
|
||||
for (i = 0, s = buf; *s; s++)
|
||||
{
|
||||
unsigned char c1, c2;
|
||||
|
||||
c1 = (((unsigned char)*s) >> 4) & 0xf;
|
||||
c2 = ((unsigned char)*s) & 0x0f;
|
||||
hash[12 + (i % 32)] = (((hash[12 + (i % 32)] - 'a') ^ c1) % 26) + 'a';
|
||||
|
|
|
@ -382,11 +382,9 @@ cb_term_right(Evas_Object *termio_obj)
|
|||
static Eina_Bool
|
||||
cb_term_new(Evas_Object *termio_obj)
|
||||
{
|
||||
RETURN_FALSE_ON_GROUP_ACTION_ALREADY_HANDLED;
|
||||
char path[PATH_MAX], cwd[PATH_MAX];
|
||||
|
||||
char path[PATH_MAX], cwd[PATH_MAX], *cmd;
|
||||
const char *template = "%s -d %s";
|
||||
int length;
|
||||
RETURN_FALSE_ON_GROUP_ACTION_ALREADY_HANDLED;
|
||||
|
||||
#if (EFL_VERSION_MAJOR > 1) || (EFL_VERSION_MINOR >= 16)
|
||||
eina_file_path_join(path, sizeof(path), elm_app_bin_dir_get(),
|
||||
|
@ -397,6 +395,10 @@ cb_term_new(Evas_Object *termio_obj)
|
|||
#endif
|
||||
if (termio_cwd_get(termio_obj, cwd, sizeof(cwd)))
|
||||
{
|
||||
const char *template = "%s -d %s";
|
||||
int length;
|
||||
char *cmd;
|
||||
|
||||
length = (strlen(path) + strlen(cwd) + strlen(template) - 3);
|
||||
cmd = malloc(sizeof(char) * length);
|
||||
snprintf(cmd, length, template, path, cwd);
|
||||
|
|
|
@ -32,9 +32,8 @@ void byteReverse(unsigned char *buf, unsigned longs);
|
|||
*/
|
||||
void byteReverse(unsigned char *buf, unsigned longs)
|
||||
{
|
||||
uint32_t t;
|
||||
do {
|
||||
t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
|
||||
uint32_t t = (uint32_t) ((unsigned) buf[3] << 8 | buf[2]) << 16 |
|
||||
((unsigned) buf[1] << 8 | buf[0]);
|
||||
*(uint32_t *) buf = t;
|
||||
buf += 4;
|
||||
|
|
|
@ -54,14 +54,17 @@ static Evas_Smart_Class _parent_sc = EVAS_SMART_CLASS_INIT_NULL;
|
|||
static const char *
|
||||
_is_fmt(const char *f, const char **extn)
|
||||
{
|
||||
int i, len, l;
|
||||
int i;
|
||||
size_t len;
|
||||
|
||||
len = strlen(f);
|
||||
for (i = 0; extn[i]; i++)
|
||||
{
|
||||
l = strlen(extn[i]);
|
||||
if (len < l) continue;
|
||||
if (!strcasecmp(extn[i], f + len - l)) return extn[i];
|
||||
size_t l = strlen(extn[i]);
|
||||
if (len < l)
|
||||
continue;
|
||||
if (!strcasecmp(extn[i], f + len - l))
|
||||
return extn[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -472,7 +475,6 @@ _type_scale_init(Evas_Object *obj)
|
|||
static void
|
||||
_type_scale_calc(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
|
||||
{
|
||||
Evas_Object *o;
|
||||
Media *sd = evas_object_smart_data_get(obj);
|
||||
if (!sd) return;
|
||||
if ((w <= 0) || (h <= 0) || (sd->iw <= 0) || (sd->ih <= 0))
|
||||
|
@ -526,6 +528,8 @@ _type_scale_calc(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Eva
|
|||
if (lh < 256) lh = 256;
|
||||
if ((lw != sd->sw) || (lh != sd->sh))
|
||||
{
|
||||
Evas_Object *o;
|
||||
|
||||
o = sd->o_tmp = evas_object_image_filled_add(evas_object_evas_get(obj));
|
||||
evas_object_smart_member_add(o, obj);
|
||||
evas_object_clip_set(o, sd->clip);
|
||||
|
|
|
@ -213,7 +213,6 @@ void
|
|||
miniview_position_offset(const Evas_Object *obj, int by, Eina_Bool sanitize)
|
||||
{
|
||||
Miniview *mv = evas_object_smart_data_get(obj);
|
||||
int remain = 0;
|
||||
|
||||
termio_scroll_get(mv->termio);
|
||||
EINA_SAFETY_ON_NULL_RETURN(mv);
|
||||
|
@ -222,6 +221,8 @@ miniview_position_offset(const Evas_Object *obj, int by, Eina_Bool sanitize)
|
|||
|
||||
if (!mv->fits_to_img)
|
||||
{
|
||||
int remain;
|
||||
|
||||
mv->screen.pos_val += (double) by / (mv->img_h - mv->rows);
|
||||
edje_object_part_drag_value_set(mv->base, "miniview_screen",
|
||||
0.0, mv->screen.pos_val);
|
||||
|
@ -517,7 +518,6 @@ _deferred_renderer(void *data)
|
|||
int history_len, pos;
|
||||
ssize_t wret;
|
||||
unsigned int *pixels, y;
|
||||
Termcell *cells;
|
||||
Termpty *ty;
|
||||
unsigned int colors[512];
|
||||
double bottom_bound;
|
||||
|
@ -555,8 +555,10 @@ _deferred_renderer(void *data)
|
|||
|
||||
for (y = 0; y < mv->img_h; y++)
|
||||
{
|
||||
cells = termpty_cellrow_get(ty, mv->img_hist + y, &wret);
|
||||
if (!cells) break;
|
||||
Termcell *cells = termpty_cellrow_get(ty, mv->img_hist + y, &wret);
|
||||
|
||||
if (!cells)
|
||||
break;
|
||||
_draw_line(ty, &pixels[y * mv->cols], cells, wret, colors);
|
||||
}
|
||||
evas_object_image_data_set(mv->img, pixels);
|
||||
|
|
|
@ -173,43 +173,44 @@ _grid_content_get(void *data, Evas_Object *obj, const char *part)
|
|||
Background_Ctx *ctx = evas_object_data_get(obj, "ctx");
|
||||
assert(ctx);
|
||||
Background_Item *item = data;
|
||||
Evas_Object *o, *oe;
|
||||
Config *config = ctx->config;
|
||||
char path[PATH_MAX];
|
||||
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
if (strcmp(part, "elm.swallow.icon"))
|
||||
return NULL;
|
||||
|
||||
if (item->path)
|
||||
{
|
||||
if (item->path)
|
||||
int i;
|
||||
Media_Type type;
|
||||
for (i = 0; extn_edj[i]; i++)
|
||||
{
|
||||
int i;
|
||||
Media_Type type;
|
||||
for (i = 0; extn_edj[i]; i++)
|
||||
{
|
||||
if (eina_str_has_extension(item->path, extn_edj[i]))
|
||||
return media_add(obj, item->path, config,
|
||||
MEDIA_BG, MEDIA_TYPE_EDJE);
|
||||
}
|
||||
type = media_src_type_get(item->path);
|
||||
return media_add(obj, item->path, config, MEDIA_THUMB, type);
|
||||
if (eina_str_has_extension(item->path, extn_edj[i]))
|
||||
return media_add(obj, item->path, config,
|
||||
MEDIA_BG, MEDIA_TYPE_EDJE);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!config->theme)
|
||||
return NULL;
|
||||
snprintf(path, PATH_MAX, "%s/themes/%s", elm_app_data_dir_get(),
|
||||
config->theme);
|
||||
o = elm_layout_add(obj);
|
||||
oe = elm_layout_edje_get(o);
|
||||
if (!edje_object_file_set(oe, path, "terminology/background"))
|
||||
{
|
||||
evas_object_del(o);
|
||||
return NULL;
|
||||
}
|
||||
evas_object_show(o);
|
||||
return o;
|
||||
}
|
||||
type = media_src_type_get(item->path);
|
||||
return media_add(obj, item->path, config, MEDIA_THUMB, type);
|
||||
}
|
||||
return NULL;
|
||||
else
|
||||
{
|
||||
Evas_Object *o, *oe;
|
||||
char path[PATH_MAX];
|
||||
|
||||
if (!config->theme)
|
||||
return NULL;
|
||||
snprintf(path, PATH_MAX, "%s/themes/%s", elm_app_data_dir_get(),
|
||||
config->theme);
|
||||
o = elm_layout_add(obj);
|
||||
oe = elm_layout_edje_get(o);
|
||||
if (!edje_object_file_set(oe, path, "terminology/background"))
|
||||
{
|
||||
evas_object_del(o);
|
||||
return NULL;
|
||||
}
|
||||
evas_object_show(o);
|
||||
return o;
|
||||
}
|
||||
return NULL; /* unreached */
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -389,7 +390,6 @@ _cb_entry_changed(void *data,
|
|||
static void
|
||||
_cb_hoversel_select(Background_Ctx *ctx, const Eina_Stringshare *path)
|
||||
{
|
||||
Evas_Object *o;
|
||||
if (path)
|
||||
{
|
||||
elm_flip_go_to(ctx->flip, EINA_TRUE, ELM_FLIP_PAGE_LEFT);
|
||||
|
@ -397,7 +397,7 @@ _cb_hoversel_select(Background_Ctx *ctx, const Eina_Stringshare *path)
|
|||
}
|
||||
else
|
||||
{
|
||||
o = elm_object_part_content_get(ctx->flip, "back");
|
||||
Evas_Object *o = elm_object_part_content_get(ctx->flip, "back");
|
||||
elm_fileselector_path_set(o, elm_object_text_get(ctx->entry));
|
||||
elm_flip_go_to(ctx->flip, EINA_FALSE, ELM_FLIP_PAGE_RIGHT);
|
||||
}
|
||||
|
@ -553,7 +553,7 @@ options_background(Evas_Object *opbox, Evas_Object *term)
|
|||
{
|
||||
Evas_Object *o, *bx, *bx_front;
|
||||
Config *config = termio_config_get(term);
|
||||
char path[PATH_MAX], *config_background_dir;
|
||||
char path[PATH_MAX];
|
||||
Background_Ctx *ctx;
|
||||
|
||||
ctx = calloc(1, sizeof(*ctx));
|
||||
|
@ -706,6 +706,7 @@ options_background(Evas_Object *opbox, Evas_Object *term)
|
|||
|
||||
if (config->background)
|
||||
{
|
||||
char *config_background_dir;
|
||||
config_background_dir = ecore_file_dir_get(config->background);
|
||||
elm_object_text_set(ctx->entry, config_background_dir);
|
||||
free(config_background_dir);
|
||||
|
|
|
@ -236,7 +236,6 @@ _cb_op_font_preview_delayed_eval(void *data)
|
|||
goto done;
|
||||
if (ELM_RECTS_INTERSECT(ox, oy, ow, oh, vx, vy, vw, vh))
|
||||
{
|
||||
char buf[4096];
|
||||
int r, g, b, a;
|
||||
Evas *evas = evas_object_evas_get(obj);
|
||||
Evas_Object *textgrid = termio_textgrid_get(f->ctx->term);
|
||||
|
@ -250,6 +249,7 @@ _cb_op_font_preview_delayed_eval(void *data)
|
|||
evas_object_scale_set(o, elm_config_scale_get());
|
||||
if (f->bitmap)
|
||||
{
|
||||
char buf[4096];
|
||||
snprintf(buf, sizeof(buf), "%s/fonts/%s",
|
||||
elm_app_data_dir_get(), f->full_name);
|
||||
evas_object_text_font_set(o, buf, config->font.size);
|
||||
|
|
|
@ -51,11 +51,12 @@ _cb_op_theme_content_get(void *data, Evas_Object *obj, const char *part)
|
|||
|
||||
if (!strcmp(part, "elm.swallow.icon"))
|
||||
{
|
||||
Evas_Object *o;
|
||||
Config *config = t->ctx->config;
|
||||
|
||||
if (config)
|
||||
{
|
||||
Evas_Object *o;
|
||||
|
||||
o = options_theme_preview_add(obj, config,
|
||||
theme_path_get(t->name),
|
||||
128 * elm_config_scale_get(),
|
||||
|
|
|
@ -80,7 +80,6 @@ ty_sb_spaces_rtrim(struct ty_sb *sb)
|
|||
char *
|
||||
ty_sb_steal_buf(struct ty_sb *sb)
|
||||
{
|
||||
size_t i;
|
||||
char *buf;
|
||||
|
||||
if (!sb->len)
|
||||
|
@ -88,6 +87,8 @@ ty_sb_steal_buf(struct ty_sb *sb)
|
|||
|
||||
if (sb->gap != 0)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
sb->buf -= sb->gap;
|
||||
for (i = 0; i <= sb->len; i++)
|
||||
{
|
||||
|
|
214
src/bin/termio.c
214
src/bin/termio.c
|
@ -401,7 +401,6 @@ termio_config_update(Evas_Object *obj)
|
|||
{
|
||||
Termio *sd = evas_object_smart_data_get(obj);
|
||||
Evas_Coord w, h, ow = 0, oh = 0;
|
||||
char buf[4096];
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN(sd);
|
||||
|
||||
|
@ -410,6 +409,8 @@ termio_config_update(Evas_Object *obj)
|
|||
|
||||
if (sd->config->font.bitmap)
|
||||
{
|
||||
char buf[4096];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s/fonts/%s",
|
||||
elm_app_data_dir_get(), sd->config->font.name);
|
||||
sd->font.name = eina_stringshare_add(buf);
|
||||
|
@ -931,7 +932,6 @@ _cb_ctxp_link_content_copy(void *data,
|
|||
{
|
||||
Evas_Object *term = data;
|
||||
Termio *sd = evas_object_smart_data_get(term);
|
||||
const char *raw_link;
|
||||
EINA_SAFETY_ON_NULL_RETURN(sd);
|
||||
|
||||
if (sd->link.id)
|
||||
|
@ -945,6 +945,8 @@ _cb_ctxp_link_content_copy(void *data,
|
|||
else
|
||||
{
|
||||
struct ty_sb sb = {.buf = NULL, .len = 0, .alloc = 0};
|
||||
const char *raw_link;
|
||||
|
||||
termio_selection_get(sd,
|
||||
sd->link.x1, sd->link.y1,
|
||||
sd->link.x2, sd->link.y2,
|
||||
|
@ -1479,7 +1481,6 @@ _hyperlink_mouseover(Termio *sd,
|
|||
uint16_t link_id)
|
||||
{
|
||||
Evas_Coord ox, oy, ow, oh;
|
||||
Evas_Object *o;
|
||||
int x, y;
|
||||
Term_Link *hl;
|
||||
|
||||
|
@ -1506,8 +1507,9 @@ _hyperlink_mouseover(Termio *sd,
|
|||
termpty_backscroll_adjust(sd->pty, &sd->scroll);
|
||||
for (y = 0; y < sd->grid.h; y++)
|
||||
{
|
||||
ssize_t w = 0;
|
||||
Termcell *cells;
|
||||
Evas_Object *o;
|
||||
ssize_t w = 0;
|
||||
int start_x = -1;
|
||||
Eina_Bool add_tooltip = EINA_FALSE;
|
||||
|
||||
|
@ -1607,11 +1609,13 @@ _smart_media_clicked(void *data, Evas_Object *obj, void *_info EINA_UNUSED)
|
|||
cmd = config->helper.local.general;
|
||||
if (cmd)
|
||||
{
|
||||
char buf[PATH_MAX], *escaped;
|
||||
char *escaped;
|
||||
|
||||
escaped = ecore_file_escape_name(file);
|
||||
if (escaped)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
snprintf(buf, sizeof(buf), "%s %s", cmd, escaped);
|
||||
ecore_exe_run(buf, NULL);
|
||||
free(escaped);
|
||||
|
@ -1896,7 +1900,6 @@ static void
|
|||
_block_edje_cmds(Termpty *ty, Termblock *blk, Eina_List *cmds, Eina_Bool created)
|
||||
{
|
||||
Eina_List *l;
|
||||
char *s;
|
||||
|
||||
#define ISCMD(cmd) !strcmp(s, cmd)
|
||||
#define GETS(var) l = l->next; if (!l) return; var = l->data
|
||||
|
@ -1905,7 +1908,7 @@ _block_edje_cmds(Termpty *ty, Termblock *blk, Eina_List *cmds, Eina_Bool created
|
|||
l = cmds;
|
||||
while (l)
|
||||
{
|
||||
s = l->data;
|
||||
char *s = l->data;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
if (ISCMD("text")) // set text part
|
||||
|
@ -3522,6 +3525,7 @@ _smart_pty_command(void *data)
|
|||
char *pp;
|
||||
int ww = 0, hh = 0, repch;
|
||||
Eina_List *strs = NULL;
|
||||
char *link = NULL;
|
||||
|
||||
// exact size in CHAR CELLS - WW (decimal) width CELLS,
|
||||
// HH (decimal) in CELLS.
|
||||
|
@ -3536,115 +3540,113 @@ _smart_pty_command(void *data)
|
|||
// CMD is the command, P1, P2, P3 etc. are parameters (P2 and
|
||||
// on are optional depending on CMD)
|
||||
repch = ty->cur_cmd[2];
|
||||
if (repch)
|
||||
{
|
||||
char *link = NULL;
|
||||
if (!repch)
|
||||
return;
|
||||
|
||||
for (p0 = p = &(ty->cur_cmd[3]); *p; p++)
|
||||
for (p0 = p = &(ty->cur_cmd[3]); *p; p++)
|
||||
{
|
||||
if (*p == ';')
|
||||
{
|
||||
if (*p == ';')
|
||||
{
|
||||
ww = strtol(p0, NULL, 10);
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
ww = strtol(p0, NULL, 10);
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
for (p0 = p; *p; p++)
|
||||
}
|
||||
for (p0 = p; *p; p++)
|
||||
{
|
||||
if (*p == ';')
|
||||
{
|
||||
if (*p == ';')
|
||||
{
|
||||
hh = strtol(p0, NULL, 10);
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
hh = strtol(p0, NULL, 10);
|
||||
p++;
|
||||
break;
|
||||
}
|
||||
if (ty->cur_cmd[1] == 'j')
|
||||
}
|
||||
if (ty->cur_cmd[1] == 'j')
|
||||
{
|
||||
// parse from p until end of string - one newline
|
||||
// per list item in strs
|
||||
p0 = p1 = p;
|
||||
for (;;)
|
||||
{
|
||||
// parse from p until end of string - one newline
|
||||
// per list item in strs
|
||||
p0 = p1 = p;
|
||||
for (;;)
|
||||
// end of str param
|
||||
if ((*p1 == '\n') || (*p1 == '\r') || (!*p1))
|
||||
{
|
||||
// end of str param
|
||||
if ((*p1 == '\n') || (*p1 == '\r') || (!*p1))
|
||||
// if string is non-empty...
|
||||
if ((p1 - p0) >= 1)
|
||||
{
|
||||
// if string is non-empty...
|
||||
if ((p1 - p0) >= 1)
|
||||
// allocate, fill and add to list
|
||||
pp = malloc(p1 - p0 + 1);
|
||||
if (pp)
|
||||
{
|
||||
// allocate, fill and add to list
|
||||
pp = malloc(p1 - p0 + 1);
|
||||
if (pp)
|
||||
{
|
||||
strncpy(pp, p0, p1 - p0);
|
||||
pp[p1 - p0] = 0;
|
||||
strs = eina_list_append(strs, pp);
|
||||
}
|
||||
strncpy(pp, p0, p1 - p0);
|
||||
pp[p1 - p0] = 0;
|
||||
strs = eina_list_append(strs, pp);
|
||||
}
|
||||
// end of string buffer
|
||||
if (!*p1) break;
|
||||
p1++; // skip \n or \r
|
||||
p0 = p1;
|
||||
}
|
||||
else
|
||||
p1++;
|
||||
// end of string buffer
|
||||
if (!*p1) break;
|
||||
p1++; // skip \n or \r
|
||||
p0 = p1;
|
||||
}
|
||||
else
|
||||
p1++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
path = p;
|
||||
p = strchr(path, '\n');
|
||||
if (p)
|
||||
{
|
||||
link = strdup(path);
|
||||
path = p + 1;
|
||||
if (isspace(path[0])) path++;
|
||||
pp = strchr(link, '\n');
|
||||
if (pp) *pp = 0;
|
||||
pp = strchr(link, '\r');
|
||||
if (pp) *pp = 0;
|
||||
}
|
||||
}
|
||||
if ((ww < 512) && (hh < 512))
|
||||
{
|
||||
Termblock *blk = NULL;
|
||||
|
||||
if (strs)
|
||||
{
|
||||
const char *file, *group;
|
||||
Eina_List *l;
|
||||
|
||||
file = eina_list_nth(strs, 0);
|
||||
group = eina_list_nth(strs, 1);
|
||||
l = eina_list_nth_list(strs, 2);
|
||||
blk = termpty_block_new(ty, ww, hh, file, group);
|
||||
for (;l; l = l->next)
|
||||
{
|
||||
pp = l->data;
|
||||
if (pp)
|
||||
blk->cmds = eina_list_append(blk->cmds, pp);
|
||||
l->data = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
blk = termpty_block_new(ty, ww, hh, path, link);
|
||||
if (blk)
|
||||
{
|
||||
path = p;
|
||||
p = strchr(path, '\n');
|
||||
if (p)
|
||||
{
|
||||
link = strdup(path);
|
||||
path = p + 1;
|
||||
if (isspace(path[0])) path++;
|
||||
pp = strchr(link, '\n');
|
||||
if (pp) *pp = 0;
|
||||
pp = strchr(link, '\r');
|
||||
if (pp) *pp = 0;
|
||||
}
|
||||
if (ty->cur_cmd[1] == 's')
|
||||
blk->scale_stretch = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'c')
|
||||
blk->scale_center = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'f')
|
||||
blk->scale_fill = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 't')
|
||||
blk->thumb = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'j')
|
||||
blk->edje = EINA_TRUE;
|
||||
termpty_block_insert(ty, repch, blk);
|
||||
}
|
||||
if ((ww < 512) && (hh < 512))
|
||||
{
|
||||
Termblock *blk = NULL;
|
||||
|
||||
if (strs)
|
||||
{
|
||||
const char *file, *group;
|
||||
Eina_List *l;
|
||||
|
||||
file = eina_list_nth(strs, 0);
|
||||
group = eina_list_nth(strs, 1);
|
||||
l = eina_list_nth_list(strs, 2);
|
||||
blk = termpty_block_new(ty, ww, hh, file, group);
|
||||
for (;l; l = l->next)
|
||||
{
|
||||
pp = l->data;
|
||||
if (pp)
|
||||
blk->cmds = eina_list_append(blk->cmds, pp);
|
||||
l->data = NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
blk = termpty_block_new(ty, ww, hh, path, link);
|
||||
if (blk)
|
||||
{
|
||||
if (ty->cur_cmd[1] == 's')
|
||||
blk->scale_stretch = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'c')
|
||||
blk->scale_center = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'f')
|
||||
blk->scale_fill = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 't')
|
||||
blk->thumb = EINA_TRUE;
|
||||
else if (ty->cur_cmd[1] == 'j')
|
||||
blk->edje = EINA_TRUE;
|
||||
termpty_block_insert(ty, repch, blk);
|
||||
}
|
||||
}
|
||||
free(link);
|
||||
EINA_LIST_FREE(strs, pp) free(pp);
|
||||
}
|
||||
free(link);
|
||||
EINA_LIST_FREE(strs, pp) free(pp);
|
||||
return;
|
||||
}
|
||||
else if (ty->cur_cmd[1] == 'C')
|
||||
|
@ -3718,27 +3720,25 @@ _smart_pty_command(void *data)
|
|||
}
|
||||
else if (ty->cur_cmd[1] == 'd') // data packet
|
||||
{
|
||||
int pksum = atoi(&(ty->cur_cmd[2]));
|
||||
int sum;
|
||||
char *p = strchr(ty->cur_cmd, ' ');
|
||||
Eina_Bool valid = EINA_TRUE;
|
||||
|
||||
if (p)
|
||||
{
|
||||
Eina_Binbuf *bb = eina_binbuf_new();
|
||||
unsigned char v;
|
||||
|
||||
if (bb)
|
||||
{
|
||||
unsigned char localbuf[128];
|
||||
unsigned char localbufpos = 0;
|
||||
int pksum = atoi(&(ty->cur_cmd[2]));
|
||||
int sum;
|
||||
|
||||
eina_binbuf_expand(bb, 32 * 1024);
|
||||
sum = 0;
|
||||
for (sum = 0, p++; *p; p++)
|
||||
{
|
||||
// high nibble
|
||||
v = (unsigned char)(*p);
|
||||
unsigned char v = (unsigned char)(*p);
|
||||
sum += v;
|
||||
v = ((v - '@') & 0xf) << 4;
|
||||
// low nibble
|
||||
|
@ -3852,13 +3852,13 @@ _smart_cb_drop(void *data,
|
|||
{
|
||||
if (strchr(ev->data, '\n'))
|
||||
{
|
||||
char *p, *p2, *p3, *tb;
|
||||
|
||||
tb = malloc(strlen(ev->data) + 1);
|
||||
char *tb = malloc(strlen(ev->data) + 1);
|
||||
if (tb)
|
||||
{
|
||||
char *p;
|
||||
for (p = ev->data; p;)
|
||||
{
|
||||
char *p2, *p3;
|
||||
p2 = strchr(p, '\n');
|
||||
p3 = strchr(p, '\r');
|
||||
if (p2 && p3)
|
||||
|
|
|
@ -2735,17 +2735,23 @@ termio_internal_render(Termio *sd,
|
|||
preedit_str = term_preedit_str_get(sd->term);
|
||||
if (preedit_str && preedit_str[0])
|
||||
{
|
||||
Eina_Unicode *uni, g;
|
||||
int len = 0, i, jump, xx, backx;
|
||||
Eina_Bool dbl;
|
||||
Evas_Textgrid_Cell *tc;
|
||||
Eina_Unicode *uni;
|
||||
int len = 0;
|
||||
x = sd->cursor.x, y = sd->cursor.y;
|
||||
|
||||
uni = eina_unicode_utf8_to_unicode(preedit_str, &len);
|
||||
if (uni)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < len; i++)
|
||||
{
|
||||
int backx;
|
||||
int xx;
|
||||
int jump;
|
||||
Eina_Bool dbl;
|
||||
Evas_Textgrid_Cell *tc;
|
||||
Eina_Unicode g;
|
||||
|
||||
jump = 1;
|
||||
g = uni[i];
|
||||
dbl = _termpty_is_dblwidth_get(sd->pty, g);
|
||||
|
|
|
@ -227,15 +227,15 @@ _pty_size(Termpty *ty)
|
|||
static Eina_Bool
|
||||
_handle_read(Termpty *ty, Eina_Bool false_on_empty)
|
||||
{
|
||||
char buf[4097];
|
||||
Eina_Unicode codepoint[4097];
|
||||
int len, i, j, reads;
|
||||
unsigned int k;
|
||||
int len, reads;
|
||||
|
||||
// read up to 64 * 4096 bytes
|
||||
for (reads = 0; reads < 64; reads++)
|
||||
{
|
||||
Eina_Unicode codepoint[4097];
|
||||
char buf[4097];
|
||||
char *rbuf = buf;
|
||||
int i, j;
|
||||
len = sizeof(buf) - 1;
|
||||
|
||||
for (i = 0; i < (int)sizeof(ty->oldbuf) && ty->oldbuf[i] & 0x80; i++)
|
||||
|
@ -293,6 +293,8 @@ _handle_read(Termpty *ty, Eina_Bool false_on_empty)
|
|||
if ((0xdc80 <= g) && (g <= 0xdcff) &&
|
||||
(len - prev_i) <= (int)sizeof(ty->oldbuf))
|
||||
{
|
||||
unsigned int k;
|
||||
|
||||
for (k = 0;
|
||||
(k < (unsigned int)sizeof(ty->oldbuf)) &&
|
||||
(k < (unsigned int)(len - prev_i));
|
||||
|
@ -474,7 +476,7 @@ termpty_resize_tabs(Termpty *ty, int old_w, int new_w)
|
|||
{
|
||||
unsigned int *new_tabs;
|
||||
int i;
|
||||
size_t nb_elems, n;
|
||||
size_t nb_elems;
|
||||
|
||||
if ((new_w == old_w) && ty->tabs) return;
|
||||
|
||||
|
@ -484,7 +486,7 @@ termpty_resize_tabs(Termpty *ty, int old_w, int new_w)
|
|||
|
||||
if (ty->tabs)
|
||||
{
|
||||
n = old_w;
|
||||
size_t n = old_w;
|
||||
if (nb_elems < n) n = nb_elems;
|
||||
if (n > 0) memcpy(new_tabs, ty->tabs, n * sizeof(unsigned int));
|
||||
free(ty->tabs);
|
||||
|
@ -707,12 +709,9 @@ termpty_new(const char *cmd, Eina_Bool login_shell, const char *cd,
|
|||
}
|
||||
if (!ty->pid)
|
||||
{
|
||||
char buf[256];
|
||||
int ret;
|
||||
|
||||
if (cd)
|
||||
{
|
||||
ret = chdir(cd);
|
||||
int ret = chdir(cd);
|
||||
if (ret != 0)
|
||||
{
|
||||
ERR(_("Could not change current directory to '%s': %s"),
|
||||
|
@ -772,6 +771,8 @@ termpty_new(const char *cmd, Eina_Bool login_shell, const char *cd,
|
|||
putenv("XTERM_256_COLORS=1");
|
||||
if (window_id)
|
||||
{
|
||||
char buf[256];
|
||||
|
||||
snprintf(buf, sizeof(buf), "WINDOWID=%lu", window_id);
|
||||
putenv(buf);
|
||||
}
|
||||
|
@ -931,7 +932,7 @@ _termpty_line_is_empty(const Termcell *cells, ssize_t nb_cells)
|
|||
ssize_t
|
||||
termpty_line_length(const Termcell *cells, ssize_t nb_cells)
|
||||
{
|
||||
ssize_t len = nb_cells;
|
||||
ssize_t len;
|
||||
|
||||
if (!cells)
|
||||
return 0;
|
||||
|
|
|
@ -38,8 +38,8 @@ termpty_cells_clear(Termpty *ty, Termcell *cells, int count)
|
|||
void
|
||||
termpty_text_scroll(Termpty *ty, Eina_Bool clear)
|
||||
{
|
||||
Termcell *cells = NULL, *cells2;
|
||||
int y, start_y = 0, end_y = ty->h - 1;
|
||||
Termcell *cells = NULL;
|
||||
int start_y = 0, end_y = ty->h - 1;
|
||||
|
||||
start_y = ty->termstate.top_margin;
|
||||
if (ty->termstate.bottom_margin != 0)
|
||||
|
@ -69,6 +69,7 @@ termpty_text_scroll(Termpty *ty, Eina_Bool clear)
|
|||
{
|
||||
int x = ty->termstate.left_margin;
|
||||
int w = ty->w - x;
|
||||
int y;
|
||||
|
||||
if (ty->termstate.right_margin)
|
||||
w = ty->termstate.right_margin - x;
|
||||
|
@ -76,6 +77,8 @@ termpty_text_scroll(Termpty *ty, Eina_Bool clear)
|
|||
cells = &(TERMPTY_SCREEN(ty, x, end_y));
|
||||
for (y = start_y; y < end_y; y++)
|
||||
{
|
||||
Termcell *cells2;
|
||||
|
||||
cells = &(TERMPTY_SCREEN(ty, x, (y + 1)));
|
||||
cells2 = &(TERMPTY_SCREEN(ty, x, y));
|
||||
TERMPTY_CELL_COPY(ty, cells, cells2, w);
|
||||
|
@ -88,8 +91,8 @@ termpty_text_scroll(Termpty *ty, Eina_Bool clear)
|
|||
void
|
||||
termpty_text_scroll_rev(Termpty *ty, Eina_Bool clear)
|
||||
{
|
||||
Termcell *cells, *cells2 = NULL;
|
||||
int y, start_y = 0, end_y = ty->h - 1;
|
||||
Termcell *cells;
|
||||
int start_y = 0, end_y = ty->h - 1;
|
||||
|
||||
if (ty->termstate.bottom_margin != 0)
|
||||
{
|
||||
|
@ -116,6 +119,7 @@ termpty_text_scroll_rev(Termpty *ty, Eina_Bool clear)
|
|||
{
|
||||
int x = ty->termstate.left_margin;
|
||||
int w = ty->w - x;
|
||||
int y;
|
||||
|
||||
if (ty->termstate.right_margin)
|
||||
w = ty->termstate.right_margin - x;
|
||||
|
@ -123,6 +127,8 @@ termpty_text_scroll_rev(Termpty *ty, Eina_Bool clear)
|
|||
cells = &(TERMPTY_SCREEN(ty, x, end_y));
|
||||
for (y = end_y; y > start_y; y--)
|
||||
{
|
||||
Termcell *cells2;
|
||||
|
||||
cells = &(TERMPTY_SCREEN(ty, x, (y - 1)));
|
||||
cells2 = &(TERMPTY_SCREEN(ty, x, y));
|
||||
TERMPTY_CELL_COPY(ty, cells, cells2, w);
|
||||
|
|
|
@ -69,12 +69,12 @@ scaleterm(int w, int h, int *iw, int *ih)
|
|||
static const char *
|
||||
is_fmt(const char *f, const char **extn)
|
||||
{
|
||||
int i, len, l;
|
||||
int i, len;
|
||||
|
||||
len = strlen(f);
|
||||
for (i = 0; extn[i]; i++)
|
||||
{
|
||||
l = strlen(extn[i]);
|
||||
int l = strlen(extn[i]);
|
||||
if (len < l) continue;
|
||||
if (!strcasecmp(extn[i], f + len - l)) return extn[i];
|
||||
}
|
||||
|
|
|
@ -287,10 +287,6 @@ _termpty_init(Termpty *ty, Config *config)
|
|||
int
|
||||
main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
||||
{
|
||||
char buf[4097];
|
||||
Eina_Unicode codepoint[4097];
|
||||
int len, i, j, k;
|
||||
|
||||
eina_init();
|
||||
|
||||
#ifdef TYTEST
|
||||
|
@ -319,8 +315,11 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|||
|
||||
do
|
||||
{
|
||||
char buf[4097];
|
||||
Eina_Unicode codepoint[4097];
|
||||
int i, j;
|
||||
char *rbuf = buf;
|
||||
len = sizeof(buf) - 1;
|
||||
int len = sizeof(buf) - 1;
|
||||
|
||||
for (i = 0; i < (int)sizeof(_ty.oldbuf) && _ty.oldbuf[i] & 0x80; i++)
|
||||
{
|
||||
|
@ -354,6 +353,7 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
|
|||
if ((0xdc80 <= g) && (g <= 0xdcff) &&
|
||||
(len - prev_i) <= (int)sizeof(_ty.oldbuf))
|
||||
{
|
||||
int k;
|
||||
for (k = 0;
|
||||
(k < (int)sizeof(_ty.oldbuf)) &&
|
||||
(k < (len - prev_i));
|
||||
|
|
|
@ -590,7 +590,7 @@ list_dir(const char *dir, Tyls_Options *options)
|
|||
{
|
||||
Eina_List *files, *l;
|
||||
char *s, **names;
|
||||
int maxlen = 0, cols, c, rows, i, j, num, cw, stuff;
|
||||
int maxlen = 0, i, num, stuff;
|
||||
|
||||
files = ecore_file_ls(dir);
|
||||
if (!files) return;
|
||||
|
@ -618,7 +618,9 @@ list_dir(const char *dir, Tyls_Options *options)
|
|||
maxlen += stuff;
|
||||
if (maxlen > 0)
|
||||
{
|
||||
cols = tw / maxlen;
|
||||
int rows;
|
||||
int cols = tw / maxlen;
|
||||
|
||||
if (cols < 1) cols = 1;
|
||||
if (cols == 1)
|
||||
{
|
||||
|
@ -632,6 +634,7 @@ list_dir(const char *dir, Tyls_Options *options)
|
|||
{
|
||||
char buf[4096];
|
||||
const char *icon;
|
||||
int c, j, cw;
|
||||
|
||||
if (options->mode == SMALL)
|
||||
{
|
||||
|
@ -738,9 +741,6 @@ print_usage(const char *argv0)
|
|||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
char buf[64];
|
||||
char *path;
|
||||
Eina_List *dirs = NULL;
|
||||
Tyls_Options options = {SMALL, EINA_FALSE};
|
||||
|
||||
ON_NOT_RUNNING_IN_TERMINOLOGY_EXIT_1();
|
||||
|
@ -759,7 +759,9 @@ main(int argc, char **argv)
|
|||
{
|
||||
int i, cw, ch;
|
||||
int len;
|
||||
char *rp;
|
||||
char buf[64];
|
||||
char *path;
|
||||
Eina_List *dirs = NULL;
|
||||
|
||||
evas = ecore_evas_get(ee);
|
||||
echo_off();
|
||||
|
@ -806,7 +808,9 @@ main(int argc, char **argv)
|
|||
}
|
||||
EINA_LIST_FREE(dirs, path)
|
||||
{
|
||||
if ((rp = ecore_file_realpath(path))
|
||||
char *rp;
|
||||
|
||||
if ((rp = ecore_file_realpath(path))
|
||||
&& ecore_file_is_dir(rp))
|
||||
{
|
||||
list_dir(rp, &options);
|
||||
|
@ -814,7 +818,6 @@ main(int argc, char **argv)
|
|||
}
|
||||
}
|
||||
fflush(stdout);
|
||||
// ecore_main_loop_begin();
|
||||
ecore_evas_free(ee);
|
||||
}
|
||||
emotion_shutdown();
|
||||
|
|
Loading…
Reference in New Issue