t* My version of sent
       
   URI git clone git://git.codevoid.de/sent-sdk.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 008ff1b88b3e9cdd13e82d0ec4fb573c977f6a3d
   DIR parent edb46305647d909199a860b6b0812595742f6fe4
   URI Author: Markus Teich <markus.teich@stusta.mhn.de>
       Date:   Wed,  9 Dec 2015 00:50:05 +0100
       
       fix 2 uninitialized variables and bin == NULL check
       
       Diffstat:
         M drw.c                               |       2 +-
         M sent.c                              |      17 +++++++++--------
       
       2 files changed, 10 insertions(+), 9 deletions(-)
       ---
   DIR diff --git a/drw.c b/drw.c
       t@@ -228,7 +228,7 @@ int
        drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, const char *text, int invert) {
                char buf[1024];
                int tx, ty, th;
       -        unsigned int ew;
       +        unsigned int ew = 0;
                Colormap cmap;
                Visual *vis;
                XftDraw *d;
   DIR diff --git a/sent.c b/sent.c
       t@@ -162,23 +162,25 @@ filter(int fd, const char *cmd)
        Image *ffopen(char *filename)
        {
                unsigned char hdr[16];
       -        char *bin;
       +        char *bin = NULL;
                regex_t regex;
                Image *img;
                size_t i;
                int tmpfd, fd;
        
       -        for (bin = NULL, i = 0; i < LEN(filters); i++) {
       +        for (i = 0; i < LEN(filters); i++) {
                        if (regcomp(&regex, filters[i].regex,
                                    REG_NOSUB | REG_EXTENDED | REG_ICASE))
                                continue;
                        if (!regexec(&regex, filename, 0, NULL, 0)) {
       -                        if (!(bin = filters[i].bin))
       -                                return NULL;
       +                        bin = filters[i].bin
                                break;
                        }
                }
        
       +        if (!bin)
       +                return NULL;
       +
                if ((fd = open(filename, O_RDONLY)) < 0) {
                        eprintf("Unable to open file %s:", filename);
                        return NULL;
       t@@ -355,7 +357,7 @@ void ffdraw(Image *img)
        void getfontsize(Slide *s, unsigned int *width, unsigned int *height)
        {
                int i, j;
       -        unsigned int curw, imax;
       +        unsigned int curw, new_max;
                float lfac = linespacing * (s->linecount - 1) + 1;
        
                /* fit height */
       t@@ -369,13 +371,12 @@ void getfontsize(Slide *s, unsigned int *width, unsigned int *height)
                *width = 0;
                for (i = 0; i < s->linecount; i++) {
                        curw = drw_fontset_getwidth(d, s->lines[i]);
       -                if (curw >= *width)
       -                        imax = i;
       +                newmax = (curw >= *width);
                        while (j > 0 && curw > xw.uw) {
                                drw_setfontset(d, fonts[--j]);
                                curw = drw_fontset_getwidth(d, s->lines[i]);
                        }
       -                if (imax == i)
       +                if (newmax)
                                *width = curw;
                }
                *height = fonts[j]->h * lfac;