From owner-freebsd-ports-bugs@FreeBSD.ORG Wed Sep 19 20:40:04 2012 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C0450106566C for ; Wed, 19 Sep 2012 20:40:04 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 923C58FC0A for ; Wed, 19 Sep 2012 20:40:04 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.5/8.14.5) with ESMTP id q8JKe4Zo080392 for ; Wed, 19 Sep 2012 20:40:04 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.5/8.14.5/Submit) id q8JKe4KK080391; Wed, 19 Sep 2012 20:40:04 GMT (envelope-from gnats) Resent-Date: Wed, 19 Sep 2012 20:40:04 GMT Resent-Message-Id: <201209192040.q8JKe4KK080391@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, David Wolfskill Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E7A05106566C for ; Wed, 19 Sep 2012 20:33:48 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (m209-73.dsl.rawbw.com [198.144.209.73]) by mx1.freebsd.org (Postfix) with ESMTP id C36BB8FC17 for ; Wed, 19 Sep 2012 20:33:48 +0000 (UTC) Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.14.5/8.14.5) with ESMTP id q8JKXm4b009954 for ; Wed, 19 Sep 2012 13:33:48 -0700 (PDT) (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.14.5/8.14.5/Submit) id q8JKXm35009953; Wed, 19 Sep 2012 13:33:48 -0700 (PDT) (envelope-from david) Message-Id: <201209192033.q8JKXm35009953@albert.catwhisker.org> Date: Wed, 19 Sep 2012 13:33:48 -0700 (PDT) From: David Wolfskill To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/171792: patch: allow xmille to select starting player randomly X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: David Wolfskill List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Sep 2012 20:40:04 -0000 >Number: 171792 >Category: ports >Synopsis: patch: allow xmille to select starting player randomly >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Sep 19 20:40:04 UTC 2012 >Closed-Date: >Last-Modified: >Originator: David Wolfskill >Release: FreeBSD 9.1-PRERELEASE i386 >Organization: Wolfskill & Dowling Residence >Environment: System: FreeBSD albert.catwhisker.org 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #349 240271M: Sun Sep 9 05:26:25 PDT 2012 root@freebeast.catwhisker.org:/usr/obj/usr/src/sys/ALBERT i386 >Description: As written, the human player always starts a game of xmille. The attached patch causes xmille to select the human player or itself to start, more-or-less randomly. >How-To-Repeat: Play a few games of xmille, and note that you always start -- never the computer. Or examine the code, in mille.c:53 - 54: Play = PLAYER; init_ui (); >Fix: Since the port already has a files/patch-mille.c, we could patch that patchfile, thus: --- files/patch-mille.c.orig 2012-07-22 04:58:35.000000000 -0700 +++ files/patch-mille.c 2012-09-19 13:12:55.000000000 -0700 @@ -21,6 +21,33 @@ main(ac, av) reg int ac; +@@ -49,8 +50,6 @@ + /* NOTREACHED */ + } + setbuf(stdout, _sobuf); +- Play = PLAYER; +- init_ui (); + # ifndef PROF + #ifdef sun + srandom(getpid()); +@@ -60,6 +59,8 @@ + # else + srand(0); + # endif ++ Play = random()&01 ? COMP : PLAYER; ++ init_ui (); + signal(SIGINT, rub); + for (;;) { + if (!restore || (Player[PLAYER].total >= 5000 +@@ -73,7 +74,7 @@ + } + do { + if (!restore) +- Handstart = Play = other(Handstart); ++ Handstart = other(Handstart); + if (!restore || On_exit) { + shuffle(); + init(); @@ -123,9 +124,9 @@ * Routine to trap rubouts, and make sure they really want to * quit. >Release-Note: >Audit-Trail: >Unformatted: