From owner-freebsd-current Wed Sep 13 11:04:47 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id LAA20099 for current-outgoing; Wed, 13 Sep 1995 11:04:47 -0700 Received: from server.netcraft.co.uk (server.netcraft.co.uk [194.72.238.2]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id LAA20080 for ; Wed, 13 Sep 1995 11:04:45 -0700 Received: (from paul@localhost) by server.netcraft.co.uk (8.6.11/8.6.9) id TAA06384 for current@freefall.freebsd.org; Wed, 13 Sep 1995 19:04:37 +0100 From: Paul Richards Message-Id: <199509131804.TAA06384@server.netcraft.co.uk> Subject: Re: libforms - thumbs up or down? To: current@freefall.freebsd.org Date: Wed, 13 Sep 1995 19:04:37 +0100 (BST) In-Reply-To: <199509131438.QAA04286@uriah.heep.sax.de> from "J Wunsch" at Sep 13, 95 04:38:25 pm Reply-to: paul@FreeBSD.org X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 1446 Sender: current-owner@FreeBSD.org Precedence: bulk In reply to J Wunsch who said > > It's hanging in draw_box(), since libforms expects this function to > take a single argument, while libncurses actually wants half a dozen > of them. > > Prototypes would have avoided this. :-) No in this case, there is a prototype for draw_box but it's never declared anywhere since it's just a function pointer. ncurses could probably do with some prototyping in it's headers then maybe it would have clashed with the one in my headers. > > This looks very weird, i'm not sure how it is _supposed_ to work from > looking at the code. Well, it looks like I decided to have an internal widget that draws a box but didn't finish it, instead of having an user-defined function to draw the box (there's evidence of how it used to be in the example.c, UserRoutine() function, I think it used to call the curses draw_box function from there as a user-supplied function. I think I was trying to provide as much libdialog L&F as I could internally and never finished it. What's missing is a device independant draw_box handler which calls the appropriate device specifica handler i.e. ncurses_draw_box(). I've added a brute force draw_box() which now does this just so people can see it run before they delete it :-) When freefall unhangs you'll see the commit. -- Paul Richards, Netcraft Ltd. Internet: paul@netcraft.co.uk, http://www.netcraft.co.uk Phone: 0370 462071 (Mobile), +44 1225 447500 (work)