<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>