The branch, master has been updated
       via  a060aa2bf091c7befbb37f86ef450cd575a3e53e (commit)
      from  2ac6501698d5499967b33013d9f3fc8091fddc41 (commit)

- Log -----------------------------------------------------------------
commit a060aa2bf091c7befbb37f86ef450cd575a3e53e
Author: Nicholas Marriott <[email protected]>
Commit: Nicholas Marriott <[email protected]>

    Fix handling of short (< 4 character) checksums and a bug with parsing
    old-style custom layouts. Based on fix from Chris Johnsen.
---
 layout-custom.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/layout-custom.c b/layout-custom.c
index c076232..e32d9d9 100644
--- a/layout-custom.c
+++ b/layout-custom.c
@@ -63,7 +63,7 @@ layout_dump(struct window *w)
        if (layout_append(w->layout_root, layout, sizeof layout) != 0)
                return (NULL);
 
-       xasprintf(&out, "%4x,%s", layout_checksum(layout), layout);
+       xasprintf(&out, "%04x,%s", layout_checksum(layout), layout);
        return (out);
 }
 
@@ -206,11 +206,11 @@ layout_construct(struct layout_cell *lcparent, const char 
**layout)
 {
        struct layout_cell     *lc, *lcchild;
        u_int                   sx, sy, xoff, yoff;
+       const char             *saved;
 
        if (!isdigit((u_char) **layout))
                return (NULL);
-       if (sscanf(*layout, "%ux%u,%u,%u,%*u", &sx, &sy, &xoff, &yoff) != 4 &&
-           sscanf(*layout, "%ux%u,%u,%u", &sx, &sy, &xoff, &yoff) != 4)
+       if (sscanf(*layout, "%ux%u,%u,%u", &sx, &sy, &xoff, &yoff) != 4)
                return (NULL);
 
        while (isdigit((u_char) **layout))
@@ -231,9 +231,12 @@ layout_construct(struct layout_cell *lcparent, const char 
**layout)
        while (isdigit((u_char) **layout))
                (*layout)++;
        if (**layout == ',') {
+               saved = *layout;
                (*layout)++;
                while (isdigit((u_char) **layout))
                        (*layout)++;
+               if (**layout == 'x')
+                       *layout = saved;
        }
 
        lc = layout_create_cell(lcparent);


-----------------------------------------------------------------------

Summary of changes:
 layout-custom.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
tmux

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
tmux-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-cvs

Reply via email to