<p>Mike Banon has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/20637">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">Upgrade tint from 0.03b to 0.04+nmu1 with extra improvements<br><br>1) Update tint from 0.03b to 0.04+nmu1 to fix 2 buffer overflows<br>2) Improve the security by checking SHA-256 of downloaded archive<br>3) Make it possible to reboot from this payload by pressing q key<br>4) Manually reduced a size of libpayload_tint.patch in half<br>5) Fix to show "Paused - Press any key to continue" message<br><br>This patch is a significantly improved version of<br>https://review.coreboot.org/#/c/17507/<br><br>Change-Id: I16f4a4a9804fef3da67ae1888dd56fa184ffba9d<br>Signed-off-by: Mike Banon <mikebdp2@gmail.com><br>---<br>M payloads/external/tint/Makefile<br>M payloads/external/tint/libpayload_tint.patch<br>2 files changed, 196 insertions(+), 642 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/37/20637/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">diff --git a/payloads/external/tint/Makefile b/payloads/external/tint/Makefile<br>index 0fba6e7..e4477df 100644<br>--- a/payloads/external/tint/Makefile<br>+++ b/payloads/external/tint/Makefile<br>@@ -1,5 +1,8 @@<br>-project_url=http://snapshot.debian.org/archive/debian-archive/20110127T084257Z/debian/pool/main/t/tint/tint_0.03b.tar.gz<br>-archive_name=tint_0.03b.tar.gz<br>+project_url=http://http.debian.net/debian/pool/main/t/tint/tint_0.04+nmu1.tar.gz<br>+archive_name=tint_0.04+nmu1.tar.gz<br>+correct_sha256=c1ebbf652e6bec8fa8bfb5ebc94620dd8dc474b0bb647f61b93e2948837aeb9d<br>+<br>+THIS_FILE := $(lastword $(MAKEFILE_LIST))<br> <br> unexport KCONFIG_AUTOHEADER<br> unexport KCONFIG_AUTOCONFIG<br>@@ -14,15 +17,59 @@<br>    echo "    MAKE       TINT     "<br>     $(MAKE) -C tint<br> <br>-patch: download<br>+patch: download extract<br>        cd tint; \<br>-   if [ -e debian ]; then patch -l -p1 < ../libpayload_tint.patch; fi<br>+        if [ -e debian ]; then \<br>+             rm -rf debian typedefs.h Makefile; \<br>+                 touch Makefile; \<br>+                    patch -l -p1 < ../libpayload_tint.patch; \<br>+        fi<br> <br>-download:<br>-    test -d tint || { wget $(project_url); \<br>-             tar -xvf $(archive_name); \<br>-          rm $(archive_name); \<br>-                mv tint-0.03b tint; }<br>+download: get check<br>+<br>+get:<br>+        if [ ! -d tint ]; then \<br>+             if [ ! -f $(archive_name) ]; then \<br>+                  wget $(project_url); \<br>+               fi; \<br>+        fi<br>+<br>+determine_sum = \<br>+    sum=; \<br>+      for x in sha256sum sha256 'shasum -a 256' 'openssl dgst -sha256'; do \<br>+               if type "$${x%% *}" >/dev/null 2>/dev/null; then sum=$$x; break; fi; \<br>+       done; \<br>+      if [ -z "$$sum" ]; then \<br>+          echo "TINT payload: unable to find a SHA-256 utility!" 1>&2 ; \<br>+             exit 2;\<br>+     fi<br>+<br>+check:<br>+       if [ -f $(archive_name) ]; then \<br>+            $(determine_sum); \<br>+          archive_sha256=$$($$sum $(archive_name)); \<br>+          echo $$archive_sha256; \<br>+             echo $(correct_sha256); \<br>+            if ! [ $$(echo $$archive_sha256 | grep -c $(correct_sha256)) -eq 0 ]; then \<br>+                 echo "TINT payload: good SHA-256 of downloaded archive" 1>&2 ; \<br>+                    exit 0;\<br>+             else \<br>+                       echo "TINT payload: BAD SHA-256 of downloaded archive!" 1>&2 ; \<br>+                    exit 1;\<br>+             fi; \<br>+        fi<br>+<br>+extract: check<br>+       if [ ! -d tint ]; then \<br>+             if [ -f $(archive_name) ]; then \<br>+                    tar -xvf $(archive_name); \<br>+                  rm $(archive_name); \<br>+                        mv tint-0.04+nmu1 tint; \<br>+            else \<br>+                       echo "TINT payload: archive with sources is not found!" 1>&2 ; \<br>+                    exit 1;\<br>+             fi; \<br>+        fi<br> <br> clean:<br>        test -d tint && $(MAKE) -C tint clean || exit 0<br>@@ -30,4 +77,4 @@<br> distclean:<br>       rm -rf tint<br> <br>-.PHONY: download patch tint clean distclean<br>+.PHONY: download get check extract patch tint clean distclean<br>diff --git a/payloads/external/tint/libpayload_tint.patch b/payloads/external/tint/libpayload_tint.patch<br>index b5592dd..781269a 100644<br>--- a/payloads/external/tint/libpayload_tint.patch<br>+++ b/payloads/external/tint/libpayload_tint.patch<br>@@ -1,6 +1,6 @@<br>-diff -rupN tint-0.03b/config.h tint/config.h<br>---- tint-0.03b/config.h 2001-12-08 00:03:24.000000000 +0100<br>-+++ tint/config.h 2016-05-27 14:47:15.797402090 +0200<br>+diff -rupN tint-0.04+nmu1/config.h tint/config.h<br>+--- tint-0.04+nmu1/config.h    2001-12-08 00:03:24.000000000 +0100<br>++++ tint/config.h 2017-07-18 23:00:00.000000000 +0200<br> @@ -29,7 +29,16 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br>@@ -18,439 +18,9 @@<br> +#endif<br>  <br>  #endif /* #ifndef CONFIG_H */<br>-diff -rupN tint-0.03b/debian/changelog tint/debian/changelog<br>---- tint-0.03b/debian/changelog 2005-07-17 13:32:20.000000000 +0200<br>-+++ tint/debian/changelog 1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,53 +0,0 @@<br>--tint (0.03b) unstable; urgency=low<br>--<br>--  * Added breaks at end of switch statements to keep gcc 3+ happy<br>--    (Closes: #316022)<br>--  * Added missing includes to engine.c<br>--  * Fixed spelling mistake in NOTES<br>--  * Updated debian policy version<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Sun, 17 Jul 2005 13:32:17 +0200<br>--<br>--tint (0.03a) unstable; urgency=low<br>--<br>--  * Applied patch with some minor tweaks from Marcello Mamino which<br>--    adds a dotted background.<br>--  * Applied patches from Robert Lemmen which add support for user logins as<br>--    default name and an interactive mode for specifying the start level.<br>--  * Show player statistics.<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Mon, 16 Jun 2003 23:07:37 +0200<br>--<br>--tint (0.02d) unstable; urgency=low<br>--<br>--  * Install man page in correct directory (Closes: #128923)<br>--  * Created a postinst program that checks for old score files<br>--    before installing the default score file (Closes: #136466)<br>--  * Added a menu control file (Closes: #128924)<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Wed, 19 Dec 2001 18:03:34 +0200<br>--<br>--tint (0.02c) unstable; urgency=low<br>--<br>--  * Removed common-sense suggests from control file *g* (Closes: #123204)<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Wed, 19 Dec 2001 18:03:34 +0200<br>--<br>--tint (0.02b) unstable; urgency=low<br>--<br>--  * Changed the name from tclassic to tint (as in TINT Is Not Tetris(tm))<br>--  * Added a build dependancy on libncurses5-dev (Closes: #124241)<br>--  * Changed the location for the score file to /var/games (Closes: #124236)<br>--  * Made score file sgid games (Closes: #123595)<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Wed, 19 Dec 2001 18:03:34 +0200<br>--<br>--tclassic (0.02a) unstable; urgency=low<br>--<br>--  * Initial Release. (Closes: #122839)<br>--<br>-- -- Abraham van der Merwe <abz@debian.org>  Fri,  7 Dec 2001 17:59:25 +0200<br>--<br>--Local variables:<br>--mode: debian-changelog<br>--End:<br>-diff -rupN tint-0.03b/debian/control tint/debian/control<br>---- tint-0.03b/debian/control   2005-07-17 13:31:13.000000000 +0200<br>-+++ tint/debian/control   1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,19 +0,0 @@<br>--Source: tint<br>--Section: games<br>--Priority: optional<br>--Maintainer: Abraham van der Merwe <abz@debian.org><br>--Build-Depends: debhelper (>> 3.0.0), libncurses5-dev<br>--Standards-Version: 3.6.1<br>--<br>--Package: tint<br>--Architecture: any<br>--Depends: ${shlibs:Depends}<br>--Replaces: tclassic<br>--Conflicts: tclassic<br>--Description: TINT Is Not Tetris(tm) ...at least the name isn't<br>-- As the title suggests, this is a clone of the original tetris game<br>-- written by Alexey Pajitnov, Dmitry Pavlovsky, and Vadim Gerasimov.<br>-- .<br>-- I've tried to keep the game as close to the original as possible, but<br>-- there is a few differences. Nevertheless, it's probably the closest to<br>-- the original that you'll ever find in the UNIX world...<br>-diff -rupN tint-0.03b/debian/copyright tint/debian/copyright<br>---- tint-0.03b/debian/copyright       2001-12-19 17:08:42.000000000 +0100<br>-+++ tint/debian/copyright 1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,39 +0,0 @@<br>--This is the Debian GNU/Linux prepackaged version of tint. These<br>--files were written and packaged by Abraham van der Merwe <abz@debian.org><br>--<br>--The games is released under a derivative of the BSD license. For more<br>--information see http://www.opensource.org/licenses/bsd-license.html<br>--<br>--The original source can be found at: http://oasis.frogfoot.net<br>--<br>--Copyright:<br>--<br>--  Copyright (c) Abraham vd Merwe <abz@blio.net><br>--  All rights reserved.<br>--<br>--  Redistribution and use in source and binary forms, with or without<br>--  modification, are permitted provided that the following conditions<br>--  are met:<br>--<br>--  1. Redistributions of source code must retain the above copyright<br>--     notice, this list of conditions and the following disclaimer.<br>--<br>--  2. Redistributions in binary form must reproduce the above copyright<br>--     notice, this list of conditions and the following disclaimer in the<br>--     documentation and/or other materials provided with the distribution.<br>--<br>--  3. Neither the name of the author nor the names of other contributors<br>--     may be used to endorse or promote products derived from this software<br>--     without specific prior written permission.<br>--<br>--  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>--  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,<br>--  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>--  ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE<br>--  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL<br>--  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR<br>--  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER<br>--  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,<br>--  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>--  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>--<br>-diff -rupN tint-0.03b/debian/.depends tint/debian/.depends<br>---- tint-0.03b/debian/.depends  2002-03-16 17:26:42.000000000 +0100<br>-+++ tint/debian/.depends  1970-01-01 01:00:00.000000000 +0100<br>-@@ -1 +0,0 @@<br>--tint.postinst.o: tint.postinst.c<br>-diff -rupN tint-0.03b/debian/dirs tint/debian/dirs<br>---- tint-0.03b/debian/dirs       2002-03-16 17:58:42.000000000 +0100<br>-+++ tint/debian/dirs      1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,2 +0,0 @@<br>--usr/games<br>--usr/share/man/man6<br>-diff -rupN tint-0.03b/debian/docs tint/debian/docs<br>---- tint-0.03b/debian/docs      2001-12-07 17:25:17.000000000 +0100<br>-+++ tint/debian/docs      1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,2 +0,0 @@<br>--NOTES<br>--CREDITS<br>-diff -rupN tint-0.03b/debian/Makefile tint/debian/Makefile<br>---- tint-0.03b/debian/Makefile 2002-03-16 18:41:18.000000000 +0100<br>-+++ tint/debian/Makefile  1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,28 +0,0 @@<br>--<br>--# -*- sh -*-<br>--<br>--# Written by Abraham van der Merwe <abz@blio.net><br>--# Last updated: 2002-03-26<br>--<br>--CC = gcc<br>--CFLAGS = -Wall -Os -pipe<br>--LDFLAGS = -s<br>--<br>--STRIP = strip<br>--STRIPFLAGS = --strip-all --remove-section=.note --remove-section=.comment<br>--<br>--OBJ =<br>--SRC = $(OBJ:%.o=%.c)<br>--PRG =<br>--<br>--all: #$(PRG)<br>--<br>--$(PRG): $(OBJ)<br>--       $(CC) $(CPPFLAGS) $(CFLAGS) $^ -o $@ $(LDFLAGS) $(LDLIBS)<br>--<br>--clean:<br>--     rm -rf tint<br>-- rm -f *~ $(OBJ) $(PRG) *.substvars *.debhelper<br>--<br>--.PHONY: all clean<br>--<br>-diff -rupN tint-0.03b/debian/menu tint/debian/menu<br>---- tint-0.03b/debian/menu   2002-03-16 18:31:13.000000000 +0100<br>-+++ tint/debian/menu      1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,4 +0,0 @@<br>--?package(tint):needs="text" section="Games/Tetris-like" \<br>--      title="TINT Is Not Tetris(tm)" \<br>--  command="sh -c '/usr/games/tint -l 5;echo;echo PRESS ENTER;read line'" \<br>--  hints="Text"<br>-diff -rupN tint-0.03b/debian/postinst tint/debian/postinst<br>---- tint-0.03b/debian/postinst    2002-03-16 18:44:34.000000000 +0100<br>-+++ tint/debian/postinst  1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,13 +0,0 @@<br>--#!/bin/sh -e<br>--<br>--scorefile="/var/games/tint.scores"<br>--<br>--if [ ! -e $scorefile ]<br>--then<br>--    touch $scorefile<br>--    chmod 0664 $scorefile<br>--       chown root:games $scorefile<br>--fi<br>--<br>--#DEBHELPER#<br>--<br>-diff -rupN tint-0.03b/debian/postinst.c tint/debian/postinst.c<br>---- tint-0.03b/debian/postinst.c    2002-03-16 18:15:32.000000000 +0100<br>-+++ tint/debian/postinst.c        1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,143 +0,0 @@<br>--<br>--/*<br>-- * Hacked up postinst program to install the default score file. We have to do it this<br>-- * way, since the old score file is overwritten if the score file already exists in the<br>-- * package - abz<br>-- */<br>--<br>--#include <sys/types.h><br>--#include <sys/stat.h><br>--#include <unistd.h><br>--#include <fcntl.h><br>--#include <pwd.h><br>--#include <grp.h><br>--#include <inttypes.h><br>--#include <stdlib.h><br>--#include <stdio.h><br>--#include <string.h><br>--<br>--/* location of score file */<br>--static const char filename[] = "/var/games/tint.scores";<br>--<br>--/* user name of default score file */<br>--static const char user[] = "root";<br>--<br>--/* group name of default score file */<br>--static const char group[] = "games";<br>--<br>--/* contents of default score file */<br>--static const uint8_t contents[] =<br>--{<br>--   0x54, 0x69, 0x6e, 0x74, 0x20, 0x30, 0x2e, 0x30,<br>--   0x32, 0x62, 0x20, 0x28, 0x63, 0x29, 0x20, 0x41,<br>--   0x62, 0x72, 0x61, 0x68, 0x61, 0x6d, 0x20, 0x76,<br>--   0x64, 0x20, 0x4d, 0x65, 0x72, 0x77, 0x65, 0x20,<br>--   0x2d, 0x20, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x73,<br>--   0x52, 0x69, 0x61, 0x61, 0x6e, 0x20, 0x45, 0x6e,<br>--   0x67, 0x65, 0x6c, 0x62, 0x72, 0x65, 0x63, 0x68,<br>--   0x74, 0x00, 0x10, 0x5f, 0x00, 0x00, 0xb7, 0xc8,<br>--   0x20, 0x3c, 0x41, 0x62, 0x7a, 0x00, 0x80, 0x3a,<br>--   0x00, 0x00, 0x94, 0xc5, 0x20, 0x3c, 0x52, 0x69,<br>--   0x61, 0x61, 0x6e, 0x20, 0x45, 0x6e, 0x67, 0x65,<br>--   0x6c, 0x62, 0x72, 0x65, 0x63, 0x68, 0x74, 0x00,<br>--   0x66, 0x21, 0x00, 0x00, 0x31, 0xc9, 0x20, 0x3c,<br>--   0x52, 0x69, 0x61, 0x61, 0x6e, 0x20, 0x45, 0x6e,<br>--   0x67, 0x65, 0x6c, 0x62, 0x72, 0x65, 0x63, 0x68,<br>--   0x74, 0x00, 0xdc, 0x1a, 0x00, 0x00, 0x79, 0xc6,<br>--   0x20, 0x3c, 0x52, 0x69, 0x61, 0x61, 0x6e, 0x20,<br>--   0x45, 0x6e, 0x67, 0x65, 0x6c, 0x62, 0x72, 0x65,<br>--   0x63, 0x68, 0x74, 0x00, 0x2f, 0x16, 0x00, 0x00,<br>--   0xf9, 0xc5, 0x20, 0x3c, 0x52, 0x69, 0x61, 0x61,<br>--   0x6e, 0x20, 0x45, 0x6e, 0x67, 0x65, 0x6c, 0x62,<br>--   0x72, 0x65, 0x63, 0x68, 0x74, 0x00, 0x8b, 0x11,<br>--   0x00, 0x00, 0x82, 0xc7, 0x20, 0x3c, 0x41, 0x62,<br>--   0x7a, 0x00, 0x23, 0x10, 0x00, 0x00, 0xa9, 0xc9,<br>--   0x20, 0x3c, 0x44, 0x6f, 0x70, 0x70, 0x65, 0x6c,<br>--   0x67, 0x61, 0x6e, 0x67, 0x65, 0x72, 0x00, 0x13,<br>--   0x0b, 0x00, 0x00, 0x21, 0xc7, 0x20, 0x3c, 0x4a,<br>--   0x6f, 0x68, 0x61, 0x6e, 0x6e, 0x20, 0x42, 0x6f,<br>--   0x74, 0x68, 0x61, 0x00, 0x5a, 0x09, 0x00, 0x00,<br>--   0xef, 0xc6, 0x20, 0x3c, 0x41, 0x62, 0x7a, 0x00,<br>--   0xd7, 0x07, 0x00, 0x00, 0xad, 0xc6, 0x20, 0x3c<br>--};<br>--<br>--static void debhelper_stuff()<br>--{<br>--   /* dh_installdocs */<br>--   system ("if [ -d /usr/doc -a ! -e /usr/doc/tint -a -d /usr/share/doc/tint ]; then\n"<br>--                   "       ln -sf ../share/doc/tint /usr/doc/tint\n"<br>--                 "fi\n");<br>--<br>--   /* dh_installmenu */<br>--   system ("if [ -x /usr/bin/update-menus ]; then update-menus ; fi");<br>--}<br>--<br>--int main (int argc,char *argv[])<br>--{<br>--   struct stat sb;<br>--<br>--   /* we only do something if we're called as <program> configure ... */<br>--   if (argc < 2 || strcmp (argv[1],"configure")) exit (EXIT_SUCCESS);<br>--<br>--   /* if the score file doesn't exist, create it */<br>--   if (stat (filename,&sb) < 0)<br>--    {<br>--          int fd,result;<br>--              struct passwd *u;<br>--           struct group *g;<br>--            uid_t uid;<br>--          gid_t gid;<br>--<br>--              /* get uid */<br>--               if ((u = getpwnam (user)) == NULL)<br>--            {<br>--                  fprintf (stderr,"Couldn't obtain uid for %s: %m\n",user);<br>--                     exit (EXIT_FAILURE);<br>--                 }<br>--         uid = u->pw_uid;<br>--<br>--             /* get gid */<br>--               if ((g = getgrnam (group)) == NULL)<br>--           {<br>--                  fprintf (stderr,"Couldn't obtain gid for %s: %m\n",group);<br>--                    exit (EXIT_FAILURE);<br>--                 }<br>--         gid = g->gr_gid;<br>--<br>--             /* create default score file */<br>--             if ((fd = creat (filename,0664)) < 0)<br>--              {<br>--                  fprintf (stderr,"Couldn't create score file %s: %m\n",filename);<br>--                      exit (EXIT_FAILURE);<br>--                 }<br>--         result = write (fd,contents,sizeof (contents));<br>--             if (result < 0)<br>--            {<br>--                  fprintf (stderr,"Unable to write to %s: %m\n",filename);<br>--                  close (fd);<br>--                         unlink (filename);<br>--                  exit (EXIT_FAILURE);<br>--                 }<br>--         if (result < sizeof (contents))<br>--            {<br>--                  fprintf (stderr,"Short write count. %d/%d bytes written to %s\n",result,sizeof (contents),filename);<br>--                      close (fd);<br>--                         unlink (filename);<br>--                  exit (EXIT_FAILURE);<br>--                 }<br>--         close (fd);<br>--<br>--             /* change ownership of score file */<br>--                if (chown (filename,uid,gid) < 0)<br>--                  {<br>--                  fprintf (stderr,"Couldn't change ownership of %s to %s:%s: %m\n",filename,user,group);<br>--                        unlink (filename);<br>--                  exit (EXIT_FAILURE);<br>--                 }<br>--  }<br>--<br>--   debhelper_stuff ();<br>--<br>--   exit (EXIT_SUCCESS);<br>--}<br>--<br>-diff -rupN tint-0.03b/debian/rules tint/debian/rules<br>---- tint-0.03b/debian/rules   2002-03-16 18:00:11.000000000 +0100<br>-+++ tint/debian/rules     1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,82 +0,0 @@<br>--#!/usr/bin/make -f<br>--<br>--# -*- sh -*-<br>--<br>--# Uncomment this to turn on verbose mode.<br>--export DH_VERBOSE=1<br>--<br>--# This is the debhelper compatability version to use.<br>--export DH_COMPAT=3<br>--<br>--configure: configure-stamp<br>--configure-stamp:<br>--   dh_testdir<br>--  # Add here commands to configure the package.<br>--<br>--<br>--       touch configure-stamp<br>--<br>--build: configure-stamp build-stamp<br>--build-stamp:<br>--     dh_testdir<br>--<br>--      # Add here commands to compile the package.<br>-- $(MAKE)<br>--<br>-- touch build-stamp<br>--<br>--clean:<br>--     dh_testdir<br>--  dh_testroot<br>-- rm -f build-stamp configure-stamp<br>--<br>--       # Add here commands to clean up after the build process.<br>--    -$(MAKE) clean<br>--<br>--  dh_clean<br>--<br>--install: build<br>--      dh_testdir<br>--  dh_testroot<br>-- dh_clean -k<br>-- dh_installdirs<br>--<br>--  # Add here commands to install the package into debian/tint.<br>--        $(MAKE) install DESTDIR=$(CURDIR)/debian/tint<br>--<br>--# Build architecture-independent files here.<br>--binary-indep: build install<br>--# We have nothing to do by default.<br>--<br>--# Build architecture-dependent files here.<br>--binary-arch: build install<br>--     dh_testdir<br>--  dh_testroot<br>--#        dh_installdebconf<br>--   dh_installdocs<br>--#     dh_installexamples<br>--  dh_installmenu<br>--#     dh_installlogrotate<br>--#        dh_installemacsen<br>--#  dh_installpam<br>--#      dh_installmime<br>--#     dh_installinit<br>--#     dh_installcron<br>--      dh_installman<br>--#      dh_installinfo<br>--#     dh_undocumented<br>--     dh_installchangelogs<br>--        dh_link<br>--     dh_strip<br>--    dh_compress<br>--#        dh_fixperms --exclude /usr/games/tint<br>--#      dh_makeshlibs<br>--       dh_installdeb<br>--#      dh_perl<br>--     dh_shlibdeps<br>--        dh_gencontrol<br>--       dh_md5sums<br>--  dh_builddeb<br>--<br>--binary: binary-indep binary-arch<br>--.PHONY: build clean binary-indep binary-arch binary install configure<br>-diff -rupN tint-0.03b/engine.c tint/engine.c<br>---- tint-0.03b/engine.c   2005-07-17 13:26:22.000000000 +0200<br>-+++ tint/engine.c 2016-05-27 19:05:21.681035752 +0200<br>+diff -rupN tint-0.04+nmu1/engine.c tint/engine.c<br>+--- tint-0.04+nmu1/engine.c    2005-07-17 13:26:22.000000000 +0200<br>++++ tint/engine.c 2017-07-18 23:00:00.000000000 +0200<br> @@ -27,10 +27,13 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br>@@ -466,9 +36,9 @@<br>  #include "utils.h"<br>  #include "io.h"<br>  #include "engine.h"<br>-diff -rupN tint-0.03b/engine.h tint/engine.h<br>---- tint-0.03b/engine.h  2001-12-07 16:48:08.000000000 +0100<br>-+++ tint/engine.h 2016-05-27 19:04:32.456828081 +0200<br>+diff -rupN tint-0.04+nmu1/engine.h tint/engine.h<br>+--- tint-0.04+nmu1/engine.h    2001-12-07 16:48:08.000000000 +0100<br>++++ tint/engine.h 2017-07-18 23:00:00.000000000 +0200<br> @@ -29,7 +29,7 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br>@@ -478,9 +48,9 @@<br> <br>  /*<br>   * Macros<br>-diff -rupN tint-0.03b/io.c tint/io.c<br>---- tint-0.03b/io.c        2001-12-07 16:48:20.000000000 +0100<br>-+++ tint/io.c     2016-05-27 14:47:15.798402053 +0200<br>+diff -rupN tint-0.04+nmu1/io.c tint/io.c<br>+--- tint-0.04+nmu1/io.c        2010-06-23 15:05:12.000000000 +0100<br>++++ tint/io.c     2017-07-18 23:00:00.000000000 +0200<br> @@ -27,9 +27,13 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br>@@ -493,9 +63,9 @@<br>  #include <unistd.h>             /* gettimeofday() */<br> +#endif<br>  <br>- #include <curses.h><br>+ #include "io.h"<br>  <br>-@@ -70,7 +74,11 @@ static int in_timeleft;<br>+@@ -68,7 +72,11 @@ static int in_timeleft;<br>  /* Initialize screen */<br>  void io_init ()<br>  {<br>@@ -507,7 +77,7 @@<br>     start_color ();<br>     curs_set (CURSOR_INVISIBLE);<br>     out_attr = A_NORMAL;<br>-@@ -176,11 +184,17 @@ void out_beep ()<br>+@@ -177,11 +185,17 @@ void out_beep ()<br>  /* Read a character. Please note that you MUST call in_timeout() before in_getch() */<br>  int in_getch ()<br>  {<br>@@ -525,7 +95,7 @@<br>     gettimeofday (&endtv,NULL);<br>     /* Timeout? */<br>     if (ch == ERR)<br>-@@ -198,6 +212,7 @@ int in_getch ()<br>+@@ -199,6 +213,7 @@ int in_getch ()<br>              in_timeleft -= endtv.tv_usec;<br>                 if (in_timeleft <= 0) in_timeleft = in_timetotal;<br>           }<br>@@ -533,26 +103,55 @@<br>     return ch;<br>  }<br>  <br>-diff -rupN tint-0.03b/Makefile tint/Makefile<br>---- tint-0.03b/Makefile    2005-07-17 13:30:54.000000000 +0200<br>-+++ tint/Makefile 2016-05-27 21:04:02.374391088 +0200<br>-@@ -28,85 +28,79 @@<br>- #  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>- #  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>-<br>--#CROSS = arm-linux-<br>+diff -rupN tint-0.04+nmu1/io.h tint/io.h<br>+--- tint-0.04+nmu1/io.h 2010-06-23 14:55:03.000000000 +0100<br>++++ tint/io.h     2017-07-18 23:00:00.000000000 +0200<br>+@@ -29,9 +29,8 @@<br>+  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>+  */<br> -<br>--bindir = $(DESTDIR)/usr/games<br>--mandir = $(DESTDIR)/usr/share/man<br>--localstatedir = $(DESTDIR)/var/games<br>++<br>+ #include <curses.h><br>+-#include <wchar.h><br> -<br>--ifeq ($(CC),)<br>--CC = gcc<br>--else<br>--ifeq ($(CC),colorgcc)<br>--  ifneq ($(CROSS),)<br>--   CC = gcc<br>--    endif<br>++<br>+ /*<br>+  * Colors<br>+  */<br>+diff -rupN tint-0.04+nmu1/Makefile tint/Makefile<br>+--- tint-0.04+nmu1/Makefile    2010-06-23 15:06:11.000000000 +0200<br>++++ tint/Makefile 2017-07-18 23:00:00.000000000 +0200<br>+@@ -1,0 +1,106 @@<br>++<br>++# -*- sh -*-<br>++<br>++#  Copyright (c) Abraham vd Merwe <abz@blio.net><br>++#  All rights reserved.<br>++#<br>++#  Redistribution and use in source and binary forms, with or without<br>++#  modification, are permitted provided that the following conditions<br>++#  are met:<br>++#  1. Redistributions of source code must retain the above copyright<br>++#     notice, this list of conditions and the following disclaimer.<br>++#<br>++#  2. Redistributions in binary form must reproduce the above copyright<br>++#     notice, this list of conditions and the following disclaimer in the<br>++#     documentation and/or other materials provided with the distribution.<br>++#  3. Neither the name of the author nor the names of other contributors<br>++#     may be used to endorse or promote products derived from this software<br>++#     without specific prior written permission.<br>++#<br>++#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>++#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,<br>++#  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>++#  ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE<br>++#  FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL<br>++#  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR<br>++#  SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER<br>++#  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,<br>++#  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>++#  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>++<br> +# in addition to the dependency below, create the file if it doesn't exist<br> +# to silence warnings about a file that would be generated anyway.<br> +$(if $(wildcard .xcompile),,$(eval $(shell ../../../../util/xcompile/xcompile $(XGCCPATH) > .xcompile || rm -f .xcompile)))<br>@@ -589,32 +188,8 @@<br> +# Make is silent per default, but 'make V=1' will show all compiler calls.<br> +ifneq ($(V),1)<br> +Q := @<br>- endif<br>--endif<br>--<br>--CFLAGS = -Wall -Os -pipe<br>--CPPFLAGS = -DSCOREFILE=\"$(localstatedir)/$(PRG).scores\" #-DUSE_RAND<br>--LDFLAGS = -s<br>--LDLIBS = -lncurses<br>--<br>--STRIP = strip<br>--STRIPFLAGS = --strip-all --remove-section=.note --remove-section=.comment<br>--<br>--INSTALL = install<br>--<br>--OBJ = engine.o utils.o io.o tint.o<br>--SRC = $(OBJ:%.o=%.c)<br>--PRG = tint<br>--<br>--       ########### NOTHING TO EDIT BELOW THIS ###########<br>--<br>--.PHONY: all clean do-it-all depend with-depends without-depends debian postinst<br>--<br>--all: do-it-all postinst<br>-<br>--ifeq (.depends,$(wildcard .depends))<br>--include .depends<br>--do-it-all: with-depends<br>++endif<br>++<br> +all: $(TARGET).elf<br> +#  printf" CC   $(CC)\n"<br> +<br>@@ -636,63 +211,26 @@<br> +ifneq ($(strip $(HAVE_LIBPAYLOAD)),)<br> +libpayload:<br> +   $(Q)printf "Found Libpayload $(LIBPAYLOAD_DIR).\n"<br>- else<br>--do-it-all: without-depends<br>--endif<br>--<br>--without-depends: depend with-depends<br>--<br>--depend:<br>--      rm -f .depends<br>--      set -e; for F in $(SRC); do $(CC) -MM $(CFLAGS) $(CPPFLAGS) $$F >> .depends; done<br>--<br>--with-depends: $(PRG)<br>--<br>--$(PRG): $(OBJ)<br>--   $(CROSS)$(CC) $(LDFLAGS) $^ -o $@ $(LDLIBS)<br>-- $(CROSS)$(STRIP) $(STRIPFLAGS) $@<br>--<br>--ifneq ($(DESTDIR),)<br>--install: $(PRG)<br>--     $(INSTALL) -d $(bindir) $(mandir) $(localstatedir)<br>--  $(INSTALL) -s -g games -o root -m 2755 $(PRG) $(bindir)<br>--     $(INSTALL) -g games -o root -m 0644 $(PRG).6 $(mandir)/man6<br>--#        cp tint.scores $(localstatedir)/$(PRG).scores<br>--#      chown root.games $(localstatedir)/$(PRG).scores<br>--#    chmod 0664 $(localstatedir)/$(PRG).scores<br>--<br>--uninstall:<br>-- rm -f $(bindir)/$(PRG) $(mandir)/man6/$(PRG).6 $(localstatedir)/$(PRG).scores<br>++else<br> +libpayload:<br> +        $(Q)printf "Building libpayload @ $(LIBCONFIG_PATH).\n"<br> +   $(Q)make -C $(LIBCONFIG_PATH) distclean<br> +     $(Q)make -C $(LIBCONFIG_PATH) defconfig KBUILD_DEFCONFIG=$(LIB_CONFIG)<br> +      $(Q)make -C $(LIBCONFIG_PATH) DESTDIR=$(tint_obj) install<br>- endif<br>-<br>--postinst:<br>--  $(MAKE) -C debian<br>--<br>--debian:<br>--    dpkg-buildpackage -rfakeroot -k2B555AEE<br>--<br>- clean:<br>--       rm -f .depends *~ $(OBJ) $(PRG) {configure,build}-stamp gmon.out a.out<br>--      rm -rf debian/$(PRG)<br>--        rm -f debian/*.{debhelper,substvars} debian/files debian/*~<br>++endif<br>++<br>++clean:<br> +  $(Q)rm -f $(TARGET).elf $(TARGET).debug *.o<br> + $(Q)rm .xcompile<br>-<br>- distclean: clean<br>--     $(MAKE) -C debian clean<br>++<br>++distclean: clean<br> +     $(Q)rm -rf $(tint_obj)<br>-<br>++<br> +<br> +.PHONY: all clean do-it-all depend with-depends without-depends debian postinst<br>-Binary files tint-0.03b/.Makefile.swp and tint/.Makefile.swp differ<br>-diff -rupN tint-0.03b/tint.c tint/tint.c<br>---- tint-0.03b/tint.c   2005-07-17 13:26:43.000000000 +0200<br>-+++ tint/tint.c   2016-05-27 18:59:53.838346317 +0200<br>+diff -rupN tint-0.04+nmu1/tint.c tint/tint.c<br>+--- tint-0.04+nmu1/tint.c  2010-08-08 19:42:50.000000000 +0200<br>++++ tint/tint.c   2017-07-18 23:00:00.000000000 +0200<br> @@ -1,4 +1,3 @@<br> -<br>  /*<br>@@ -716,7 +254,14 @@<br>  #include "utils.h"<br>  #include "io.h"<br>  #include "config.h"<br>-@@ -321,6 +321,7 @@ typedef struct<br>+@@ -306,4 +306,4 @@<br>+ /* Header for scorefile */<br>+-#define SCORE_HEADER    "Tint 0.02b (c) Abraham vd Merwe - Scores"<br>++#define SCORE_HEADER    "Tint 0.04+nmu1 (c) Abraham vd Merwe - Scores"<br>+-<br>++<br>+ /* Header for score title */<br>+@@ -322,6 +322,7 @@ typedef struct<br>     time_t timestamp;<br>  } score_t;<br>  <br>@@ -724,7 +269,7 @@<br>  static void getname (char *name)<br>  {<br>     struct passwd *pw = getpwuid (geteuid ());<br>-@@ -337,7 +338,9 @@ static void getname (char *name)<br>+@@ -338,7 +339,9 @@ static void getname (char *name)<br>                  name[NAMELEN - 1] = '\0';<br>      }<br>  }<br>@@ -734,7 +279,7 @@<br>  static void err1 ()<br>  {<br>     fprintf (stderr,"Error creating %s\n",scorefile);<br>-@@ -349,10 +352,11 @@ static void err2 ()<br>+@@ -350,10 +353,11 @@ static void err2 ()<br>     fprintf (stderr,"Error writing to %s\n",scorefile);<br>     exit (EXIT_FAILURE);<br>  }<br>@@ -747,7 +292,7 @@<br>                   "\n\t   PLAYER STATISTICS\n\n\t"<br>                    "Score       %11d\n\t"<br>                      "Efficiency  %11d\n\t"<br>-@@ -360,6 +364,7 @@ void showplayerstats (engine_t *engine)<br>+@@ -361,6 +365,7 @@ void showplayerstats (engine_t *engine)<br>                          GETSCORE (engine->score),engine->status.efficiency,GETSCORE (engine->score) / getsum ());<br>  }<br>  <br>@@ -755,7 +300,7 @@<br>  static void createscores (int score)<br>  {<br>     FILE *handle;<br>-@@ -394,7 +399,9 @@ static void createscores (int score)<br>+@@ -395,7 +400,9 @@ static void createscores (int score)<br>     fprintf (stderr,"%s",scoretitle);<br>     fprintf (stderr,"\t  1* %7d        %s\n\n",score,scores[0].name);<br>  }<br>@@ -765,7 +310,7 @@<br>  static int cmpscores (const void *a,const void *b)<br>  {<br>     int result;<br>-@@ -412,7 +419,9 @@ static int cmpscores (const void *a,cons<br>+@@ -413,7 +420,9 @@ static int cmpscores (const void *a,cons<br>     /* timestamps is equal */<br>     return 0;<br>  }<br>@@ -775,7 +320,7 @@<br>  static void savescores (int score)<br>  {<br>     FILE *handle;<br>-@@ -490,11 +499,13 @@ static void savescores (int score)<br>+@@ -491,11 +500,13 @@ static void savescores (int score)<br>        }<br>     fprintf (stderr,"\n");<br>  }<br>@@ -788,9 +333,9 @@<br> +#if 0<br>  static void showhelp ()<br>  {<br>-    fprintf (stderr,"USAGE: tint [-h] [-l level] [-n]\n");<br>-@@ -504,9 +515,11 @@ static void showhelp ()<br>-    fprintf (stderr,"  -d           Draw vertical dotted lines\n");<br>+    fprintf (stderr,"USAGE: tint [-h] [-l level] [-n] [-d] [-b char]\n");<br>+@@ -506,9 +517,11 @@ static void showhelp ()<br>+    fprintf (stderr,"  -b <char>    Use this character to draw blocks instead of spaces\n");<br>     exit (EXIT_FAILURE);<br>  }<br> +#endif<br>@@ -801,7 +346,7 @@<br>     int i = 1;<br>     while (i < argc)<br>       {<br>-@@ -536,10 +549,12 @@ static void parse_options (int argc,char<br>+@@ -544,10 +557,12 @@ static void parse_options (int argc,char<br>                    }<br>           i++;<br>           }<br>@@ -814,7 +359,7 @@<br>     char buf[NAMELEN];<br>  <br>     do<br>-@@ -549,6 +564,8 @@ static void choose_level ()<br>+@@ -557,6 +572,8 @@ static void choose_level ()<br>             buf[strlen (buf) - 1] = '\0';<br>          }<br>     while (!str2int (&level,buf) || level < MINLEVEL || level > MAXLEVEL);<br>@@ -823,7 +368,7 @@<br>  }<br>  <br>            /***************************************************************************/<br>-@@ -561,6 +578,8 @@ int main (int argc,char *argv[])<br>+@@ -569,6 +586,8 @@ int main (int argc,char *argv[])<br>     int ch;<br>     engine_t engine;<br>     /* Initialize */<br>@@ -832,97 +377,59 @@<br>     rand_init ();                                                 /* must be called before engine_init () */<br>     engine_init (&engine,score_function);      /* must be called before using engine.curshape */<br>     finished = shownext = FALSE;<br>-@@ -663,8 +682,15 @@<br>+@@ -632,13 +651,15 @@ int main (int argc,char *argv[])<br>+                                   /* pause */<br>+                                case 'p':<br>+                              out_setcolor (COLOR_WHITE,COLOR_BLACK);<br>+-                             out_gotoxy ((out_width () - 34) / 2,out_height () - 2);<br>++                             out_gotoxy ((out_width () - 34) / 2,out_height () / 2);<br>+                              out_printf ("Paused - Press any key to continue");<br>++                                refresh ();<br>+                                  while ((ch = in_getch ()) == ERR) ;   /* Wait for a key to be pressed */<br>+                             in_flush ();                                                  /* Clear keyboard buffer */<br>+-                           out_gotoxy ((out_width () - 34) / 2,out_height () - 2);<br>++                             out_gotoxy ((out_width () - 34) / 2,out_height () / 2);<br>+                              out_printf ("                                  ");<br>++                                refresh ();<br>+                                  break;<br>+                               /* unknown keypress */<br>+                             default:<br>+                               out_beep ();<br>+@@ -673,11 +694,31 @@ int main (int argc,char *argv[])<br>+    /* Restore console settings and exit */<br>+    io_close ();<br>++#if 0<br>+    /* Don't bother the player if he want's to quit */<br>     if (ch != 'q')<br>        {<br>++#endif<br>                  showplayerstats (&engine);<br> +#if 0<br>               savescores (GETSCORE (engine.score));<br>-+#endif<br>        }<br>-+   printf("Bye.\n");<br>++#endif<br>++   printf("Press 'q' to reboot...\n");<br> +   refresh();<br>-+   for(;;); //halt();<br>++   for (;;) {<br>++       in_flush ();<br>++        while ((ch = in_getch ()) == ERR) ;   /* Wait for a key to be pressed */<br>++    if (ch == 'q') { /* reboot */<br>++               outb(0x6, 0xcf9);<br>++                   for(;;); //halt();<br>++          }<br>++           else {<br>++              in_flush ();<br>++        }<br>++   }<br>++<br> +#if 0<br>     exit (EXIT_SUCCESS);<br> +#endif<br>  }<br>  <br>-diff -rupN tint-0.03b/typedefs.h tint/typedefs.h<br>---- tint-0.03b/typedefs.h     2001-12-07 16:49:06.000000000 +0100<br>-+++ tint/typedefs.h       1970-01-01 01:00:00.000000000 +0100<br>-@@ -1,68 +0,0 @@<br>--#ifndef TYPEDEFS_H<br>--#define TYPEDEFS_H<br>--<br>--/*<br>-- * Copyright (c) Abraham vd Merwe <abz@blio.net><br>-- * All rights reserved.<br>-- *<br>-- * Redistribution and use in source and binary forms, with or without<br>-- * modification, are permitted provided that the following conditions<br>-- * are met:<br>-- * 1. Redistributions of source code must retain the above copyright<br>-- *    notice, this list of conditions and the following disclaimer.<br>-- * 2. Redistributions in binary form must reproduce the above copyright<br>-- *          notice, this list of conditions and the following disclaimer in the<br>-- *       documentation and/or other materials provided with the distribution.<br>-- * 3. Neither the name of the author nor the names of other contributors<br>-- *          may be used to endorse or promote products derived from this software<br>-- *     without specific prior written permission.<br>-- *<br>-- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"<br>-- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,<br>-- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE<br>-- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE<br>-- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL<br>-- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR<br>-- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER<br>-- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,<br>-- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE<br>-- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>-- */<br>--<br>--/*<br>-- * Boolean definitions<br>-- */<br>--<br>--#ifndef bool<br>--#define bool int<br>--#endif<br>--<br>--#if !defined(false) || (false != 0)<br>--#define false     0<br>--#endif<br>--<br>--#if !defined(true) || (true != 0)<br>--#define true    1<br>--#endif<br>--<br>--#if !defined(FALSE) || (FALSE != false)<br>--#define FALSE     false<br>--#endif<br>--<br>--#if !defined(TRUE) || (TRUE != true)<br>--#define TRUE     true<br>--#endif<br>--<br>--/*<br>-- * Error flags<br>-- */<br>--<br>--#if !defined(ERR) || (ERR != -1)<br>--#define ERR                -1<br>--#endif<br>--<br>--#if !defined(OK) || (OK != 0)<br>--#define OK         0<br>--#endif<br>--<br>--#endif       /* #ifndef TYPEDEFS_H */<br>-diff -rupN tint-0.03b/utils.c tint/utils.c<br>---- tint-0.03b/utils.c  2001-12-07 16:49:19.000000000 +0100<br>-+++ tint/utils.c  2016-05-27 19:05:40.313351887 +0200<br>+diff -rupN tint-0.04+nmu1/utils.c tint/utils.c<br>+--- tint-0.04+nmu1/utils.c       2001-12-07 16:49:19.000000000 +0100<br>++++ tint/utils.c  2017-07-18 23:00:00.000000000 +0200<br> @@ -27,11 +27,13 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br>@@ -964,9 +471,9 @@<br>  }<br>  <br> +#endif<br>-diff -rupN tint-0.03b/utils.h tint/utils.h<br>---- tint-0.03b/utils.h       2001-12-07 16:49:35.000000000 +0100<br>-+++ tint/utils.h  2016-05-27 19:00:34.120754123 +0200<br>+diff -rupN tint-0.04+nmu1/utils.h tint/utils.h<br>+--- tint-0.04+nmu1/utils.h       2001-12-07 16:49:35.000000000 +0100<br>++++ tint/utils.h  2017-07-18 23:00:00.000000000 +0200<br> @@ -29,7 +29,7 @@<br>   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.<br>   */<br></pre><p>To view, visit <a href="https://review.coreboot.org/20637">change 20637</a>. To unsubscribe, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/20637"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I16f4a4a9804fef3da67ae1888dd56fa184ffba9d </div>
<div style="display:none"> Gerrit-Change-Number: 20637 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Mike Banon <mikebdp2@gmail.com> </div>