diff options
author | Jérémie Courrèges-Anglas <jca@wxcvbn.org> | 2013-08-08 03:04:39 +0200 |
---|---|---|
committer | Jérémie Courrèges-Anglas <jca@wxcvbn.org> | 2013-08-08 03:06:19 +0200 |
commit | be52c867c96763cca28fed963efadd8fa0d37889 (patch) | |
tree | e2089da962891a47bc956765abf59a0e19437944 /src/actions.c | |
parent | bb0b20dcce7493b583f3774606527ca6776e392c (diff) | |
download | ratpoison-be52c867c96763cca28fed963efadd8fa0d37889.zip |
Cleanup cmd_sfdump.
Better variable names, more readable formatting.
Use a fixed buffer for the screen number appended to each frameset.
Diffstat (limited to 'src/actions.c')
-rw-r--r-- | src/actions.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/actions.c b/src/actions.c index 2de51fd..1f2d0ca 100644 --- a/src/actions.c +++ b/src/actions.c @@ -5475,33 +5475,34 @@ cmd_set (int interactive UNUSED, struct cmdarg **args) cmdret * cmd_sfdump (int interactively UNUSED, struct cmdarg **args UNUSED) { + char screen_suffix[16]; cmdret *ret; - struct sbuf *s; - char *tmp2; + struct sbuf *dump; rp_frame *cur; int i; - s = sbuf_new (0); + dump = sbuf_new (0); - for (i=0; i<num_screens; i++) + for (i = 0; i < num_screens; i++) { - tmp2 = xsprintf (" %d,", (rp_have_xinerama)?(screens[i].xine_screen_num):(screens[i].screen_num)); + snprintf (screen_suffix, sizeof (screen_suffix), " %d,", + rp_have_xinerama ? + screens[i].xine_screen_num : + screens[i].screen_num); /* FIXME: Oooh, gross! there's a trailing comma, yuk! */ list_for_each_entry (cur, &(screens[i].frames), node) { - char *tmp; + char *frameset; - tmp = frame_dump (cur, &screens[i]); - sbuf_concat (s, tmp); - sbuf_concat (s, tmp2); - free (tmp); + frameset = frame_dump (cur, &screens[i]); + sbuf_concat (dump, frameset); + sbuf_concat (dump, screen_suffix); + free (frameset); } - - free (tmp2); } - ret = cmdret_new (RET_SUCCESS, "%s", sbuf_get (s)); - sbuf_free (s); + ret = cmdret_new (RET_SUCCESS, "%s", sbuf_get (dump)); + sbuf_free (dump); return ret; } |