Commit Graph

  • 3bc0e5cc24 Clarify header comments in the Emscripten frontend's source files to mention that the HTML pages generated by html/jspage.pl are also an integral part of this front end. (The NestedVM frontend is more self-contained, needing only an appropriate <applet> tag, but this one expects quite a few components to exist on the page and have the right ids.) Simon Tatham 2013-04-05 15:49:18 +00:00
  • a752e73720 Try to give a more friendly message if anything goes wrong during puzzle startup. The puzzle web pages now enclose the whole puzzle (buttons, canvas, permalinks) in a div set to display:none, and instead display an apologetic message saying 'sorry, it didn't work'; then, if we get through the whole init function without crashing, we show the puzzle and hide the apology. Simon Tatham 2013-04-03 19:04:00 +00:00
  • bd8c594197 Fix a grammatical confusion on the Unruly web page. Simon Tatham 2013-04-02 10:58:52 +00:00
  • 01471b5dc9 Rewrite trim_rect() for robustness. Simon Tatham 2013-04-01 16:23:03 +00:00
  • bce3f1bd26 Greg Hewgill points out a code path on which the angle parameter to the Penrose grid generation function can fail to be initialised. Simon Tatham 2013-04-01 09:38:04 +00:00
  • 76824e1692 Fix the icon makefile in the wake of r9795. Simon Tatham 2013-03-31 22:06:07 +00:00
  • 742cf3a443 A UI suggestion from Ben: label the Custom element in the dropdown with a trailing "..." to hint that it opens a further dialog box. However, the _invisible_ Custom option is merely indicating what you _do_ have selected, so we leave that one as it is. (So now they're no longer exact twins of each other, of course.) Simon Tatham 2013-03-31 18:36:03 +00:00
  • 3fc5a644a7 Undead was not ever actually draw_update()ing to the edges of its rectangle, which showed up on the Javascript front end since the JS canvas doesn't start out defaulting to COL_BACKGROUND. Fixed it to draw_update to the edge of its area, and while I'm at it, narrowed the border (since this proves we didn't really need that much space anyway). Simon Tatham 2013-03-31 18:25:25 +00:00
  • 52d4dae0a9 Make sure the right element of the game-type dropdown starts off selected. Previously we were leaving the first element on the list selected, which is _usually_ right, but not right for Slant. Simon Tatham 2013-03-31 11:50:46 +00:00
  • bb14689b4a Introduce a mechanism by which calls to midend_supersede_game_desc() can trigger a call to a front end notification function. Use this to update the game ID permalink when Mines supersedes its game ID. Simon Tatham 2013-03-31 09:58:52 +00:00
  • bf696f83fc Reinstate a missing semicolon. Simon Tatham 2013-03-31 09:58:50 +00:00
  • 75137adf8c Oops. I consistently misspelled my desired lineCap and lineJoin values as "1" rather than "round". Must have had my Postscript brain in, and/or been confused by lineWidth = "1" just beforehand. This fixes a display glitch in Towers, where there's a tiny spike at the top left corner of each tower due to a very sharp mitred line join. Simon Tatham 2013-03-31 09:58:48 +00:00
  • 2d2afe9ad4 Fix a crash when changing presets in Inertia. Turns out that my Javascript-side blitter creation function had forgotten to return the new blitter's id, so the C code was still trying to use blitter #0 after it had been thrown away and replaced. Simon Tatham 2013-03-31 09:58:47 +00:00
  • 3603131ac1 Don't forget to restore the correct selection in the dropdown list if the user cancels a configuration dialog. Simon Tatham 2013-03-31 09:58:47 +00:00
  • 9826ecd5c3 Apply a bodge to arrange that if the user selects Custom from the game type dropdown, we still get an 'onchange' event if they select it a second time. Normally this wouldn't happen, because onchange means what it says and we only get it if a _different_ element is selected. Simon Tatham 2013-03-31 09:58:46 +00:00
  • 3e39f6b80b Stop using the dangerously unescaped 'innerHTML' for <option> contents; use document.createTextNode like I do everywhere else. Simon Tatham 2013-03-31 09:58:45 +00:00
  • 1264bccf40 Forgot to make the web-page-building scripts executable. Simon Tatham 2013-03-31 08:55:21 +00:00
  • 49fba922ea New front end! To complement the webification of my puzzles via Java applets, here's an alternative webification in Javascript, using Emscripten in asm.js mode (so that as browsers incorporate asm.js optimisation, the game generation should run really fast). Simon Tatham 2013-03-30 20:16:21 +00:00
  • e2c84a5fd2 Introduce a mechanism in this source tree for building the container web pages for the Java applets. Previously, those have all been maintained by hand in my website's svn area, which is a bit silly. Now we have a file per puzzle in the 'html' subdirectory which contains the puzzle's name, one or two attributes, and the instructions snippet to go below the puzzle applet; and then there's a Perl script that builds all the real web pages out of that by adding in the parts common across all files: the header, footer, and middle fragment with the <applet> tag and resizing bits and pieces. Simon Tatham 2013-03-30 20:04:10 +00:00
  • 6920d97c09 Edit the paragraph in the midend_deserialise() docs which I forgot to fix in r9777 when I added documentation of the function it wistfully imagined might one day exist. Simon Tatham 2013-03-30 18:03:15 +00:00
  • e6026d9d8e Add a midend function to return the current random seed, parallel to the existing one that returns the game id. No front end has so far needed this, but one is about to. Simon Tatham 2013-03-30 16:59:19 +00:00
  • 1fdafb6abf Add documentation for the identify_game() function which I introduced in r9749 and forgot to write up. Simon Tatham 2013-03-30 16:59:18 +00:00
  • d11691ec4a Found a bug in nullgame! Its vestigial game_redraw lacked a draw_update, which isn't really setting a good example for people cloning it :-) Add the missing draw_update call. Simon Tatham 2013-03-30 16:59:17 +00:00
  • b5756838f3 Remove a redundant and also erroneous memset. Simon Tatham 2013-03-11 19:58:28 +00:00
  • 48f9d92f6f Clarify instructions for 'Range' -- I initially read the last point as meaning the maximum white squares in any direction, rather than the total of all directions. Jacob Nevins 2013-03-10 13:56:12 +00:00
  • 9dcba6a8cf Make Unruly's keyboard controls match the documentation and other puzzles in the collection -- now Enter = black and Space = white. Jacob Nevins 2013-03-10 12:49:06 +00:00
  • 0d62b4a688 Fix entering pencil marks from the keyboard; the cursor is no longer removed (this brings Undead into line with Solo, etc). Jacob Nevins 2013-03-10 12:28:13 +00:00
  • 4a1669b9ad Stop using CLUE2CHAR to translate clues into text; just do the obvious sprintf in both locations (screen and print) that need it. Fixes a bug in which clues greater than 9 came out as hex digits in printed puzzles. Simon Tatham 2013-02-24 12:52:17 +00:00
  • e0f5e49265 Stop the analysis pass in Loopy's redraw routine from being conditionalised on !ds->started, so that we still do all the looping over everything even if we know it's all going to be redrawn. This is because deciding how much needs redrawing is not the only important thing in those loops - they also set up arrays like ds->clue_error, which tell the individual redraw functions _what_ to draw. Simon Tatham 2013-01-19 18:56:07 +00:00
  • 8a7dad6d2d Bring Pearl's game-completion handling in line with my usual practice: the 'completed' flag is not reset if you make a new move transforming a solved game into an unsolved state, so the game won't flash again if you manually erase and redraw a line segment (though it still will if you undo and redo past the first solved state in the undo history). Simon Tatham 2013-01-19 18:56:06 +00:00
  • 6b6442b16c Revamp of the Windows command-line parsing and puzzle-loading code. Simon Tatham 2013-01-19 18:56:05 +00:00
  • d1ffb55d26 Pattern's display was broken for non-square puzzles, because draw_numbers() was considerably confused between the width of the clue border at the left and the height of the clue border at the top. Unconfuse it (I think). Simon Tatham 2013-01-09 08:04:24 +00:00
  • 261a784d1e Actually do what the comment says at the top of main() regarding not bombing out due to an option that we don't recognise but GTK will. Somehow my basically workable plan had been completely nullified by putting the error check in the wrong place. Simon Tatham 2012-12-28 11:22:13 +00:00
  • e17bf4abec Fix overnight build failure last night, by making the new call to gtk_widget_get_allocation conditional on GTK being new enough to have that function. Simon Tatham 2012-11-21 18:45:07 +00:00
  • 2a2520b8e7 Work around an annoying GTK behaviour I noticed the other day on my Ubuntu 12.04 machine. What seems to happen is that we set up a window containing a menu bar, a drawing area and a status bar, and set the size of the drawing area; then the window is displayed _without_ the menu bar; then we reduce the drawing area's size request to (1,1) to let the user resize the window smaller; and now GTK gets round to constructing the menu bar, and the drawing area helpfully shrinks a bit to make room for it. Simon Tatham 2012-11-20 20:05:27 +00:00
  • 083aeafc5c A user points out that I could usefully clarify the Undead clue semantics when a reflected sight-line crosses the same monster twice. Simon Tatham 2012-11-03 16:27:49 +00:00
  • 8dddfc22d7 Remove an unused variable spotted by gcc 4.6.3. Simon Tatham 2012-10-07 15:41:44 +00:00
  • fc9e6277bd New puzzle! 'Unruly', contributed by Lennard Sprong, is an implementation of a puzzle usually called 'Tohu wa Vohu'. Simon Tatham 2012-10-07 10:18:33 +00:00
  • 781ba1cfa4 Make indentation consistent. (Somehow I forgot to do this before I originally committed the puzzle, as I usually do.) Simon Tatham 2012-09-10 18:24:34 +00:00
  • 0e8a375814 Forgot to add the new 'const' in the unfinished subdirectory. Oops. Simon Tatham 2012-09-10 18:05:54 +00:00
  • 0880ef0583 Oops, forgot to initialise changed_ascii on all paths in r9657. Simon Tatham 2012-09-09 21:55:14 +00:00
  • 3b250baa02 New rule: interpret_move() is passed a pointer to the game_drawstate basically just so that it can divide mouse coordinates by the tile size, but is definitely not expected to _write_ to it, and it hadn't previously occurred to me that anyone might try. Therefore, interpret_move() now gets a pointer to a _const_ game_drawstate instead of a writable one. Simon Tatham 2012-09-09 18:40:12 +00:00
  • 55748a60cb Minor tweaks to Undead docs. Jacob Nevins 2012-09-09 11:50:05 +00:00
  • 67ddba7a15 New puzzle! Contributed by Steffen Bauer, an implementation of 'Haunted Mirror Maze', a game involving placing ghosts, zombies and vampires in a grid so that the right numbers of them are visible along sight-lines reflected through multiple mirrors. Simon Tatham 2012-09-08 10:48:05 +00:00
  • 15a4fbd1cd For the convenience of Linux package maintainers, add to Makefile.gtk and Makefile.doc a command-line parameter 'BINPREFIX' which will be prepended to all the game binary names. E.g. 'make BINPREFIX=sgt-' and 'make BINPREFIX=sgt- install', and correspondingly 'make -f Makefile.doc BINPREFIX=sgt-'. Simon Tatham 2012-08-17 19:58:53 +00:00
  • 200d6533bb Fix implicit split to @_. Also add 'use warnings', which would have spotted it for me. Simon Tatham 2012-08-17 19:45:03 +00:00
  • bbf800e49e Don't fail an assertion when setting up the provided clues at the start of the solver, if they contradict each other. (Could trigger on user-provided grids.) Simon Tatham 2012-07-29 21:29:26 +00:00
  • 6567260eb0 Vary the behaviour of Mines's solve function depending on whether the user is already in the 'dead' state when they press it. If so, we reveal the rest of the mines in the grid as if it were the Windows Minesweeper 'you lose' display, which provides information showing what the user got wrong. (Otherwise they have to repeatedly flick back and forth between Solve and Undo if they want to work out which flag they placed wrongly.) Simon Tatham 2012-06-10 07:20:18 +00:00
  • 48e9767a20 Fix a bug introduced by r9495 in which we try to write temporary NULs into a string which is usually a read-only string literal. Instead, copy each segment into writable memory as we need it, and free it afterwards. Simon Tatham 2012-06-06 17:59:37 +00:00
  • 5a095b8a08 Add a hacky environment variable that lets me arrange a soak-test of a solver I've just modified, by forcing every game generation to be instantly followed by an attempt to re-solve the same game _description_ without the aux_info. Simon Tatham 2012-06-01 18:41:26 +00:00
  • a46f06e90e Remove the speed optimisation in the stage 3 solver which makes the first loop only handle rightward or downward bridges (on the basis that that way every bridge is looked at once rather than twice). This seems to be breaking in the wake of recent changes to the solver, in cases such as when island A is left of island B and has enough other outgoing edges that only one bridge remains to potentially go to B, but B is as yet unconstrained. In this situation the only code which is able to adjust the maximum bridge count for that edge is the stage 3 solver (nothing else calls solve_join with is_max true), but it will only do so if it _tries_ putting two bridges there and finds it impossible, and when it starts from island A it won't even try. Simon Tatham 2012-06-01 18:41:24 +00:00
  • 9f87d6fda5 Another uninitialised-variable fix, this one pointing out a real bug. Simplest fix is to just remove the 'n' parameter from solve_island_subgroup, replacing it with a robust island_countbridges. Simon Tatham 2012-06-01 18:41:23 +00:00
  • d7febe24f9 Add pointless initialisations to placate a gcc warning. Simon Tatham 2012-06-01 18:41:23 +00:00
  • 3ddf5cc2d0 Write a comment outlining a design for a rewritten faster solver. Simon Tatham 2012-05-31 18:10:12 +00:00
  • 9d2f61dcfa Bridges solver enhancement. In the stage 3 solver, we were considering the possibility that an island might form an isolated subgraph by connecting to one of its neighbours (and, if so, reducing the maximum bridge count in that direction so that some bridge would have to go elsewhere), but we were not also considering the possibility that it might form an isolated subgraph by connecting to _more_ than one of its neighbours. For instance, if you have a 3 adjacent to a 1, a 2 and something else, then at least one bridge must go to the something-else. Simon Tatham 2012-05-31 18:10:11 +00:00
  • 00f74d4c7d Bridges solver fix: in map_update_possibles, collect values from maxh/maxv for squares between islands as well as on islands. Simon Tatham 2012-05-31 18:10:10 +00:00
  • 12cd1ee235 Patch from Jonas Koelker to improve Filling's error highlighting: as well as marking a region as wrong if it has too many squares for the number written in it, this patch now causes a region to be marked wrong if it has too few squares _and no liberties_, so that it can't just be one the user is intending to enlarge later. Simon Tatham 2012-05-14 18:42:19 +00:00
  • 1e71966e75 Patch from Jonas Koelker for the developer docs, fixing a couple of editing errors and adding some comments about the necessary order of midend operations called by a front end. Simon Tatham 2012-05-14 18:42:18 +00:00
  • cab65638b5 GNUstep compatibility: ensure both endpoints are actually drawn by draw_line, by the brute-force method of explicitly plotting them in addition to the GUI's line-drawing operation. Simon Tatham 2012-05-06 14:01:39 +00:00
  • eae4059d3d GNUstep compatibility: add a missing #include. Simon Tatham 2012-05-06 14:01:38 +00:00
  • d58fc30444 GNUstep compatibility: avoid attempting blitter_save with a partially out-of-bounds rectangle. Instead, take the intersection of the rectangle with the window boundary and do a smaller operation on what's left. Simon Tatham 2012-05-06 14:01:36 +00:00
  • cdd53f182d GNUstep compatibility: stop using the API feature isFlipped/setFlipped to translate y-coordinates from the default of up-from-bottom to the down-from-top expected by these puzzles, because it doesn't work right on GNUstep. Instead, we run the API in its default mode (probably a more robust choice anyway) and translate coordinates manually in the front end. Simon Tatham 2012-05-06 14:01:35 +00:00
  • 9d3c8fbde0 GNUstep compatibility: remove an unused variable which the compiler warned about. Simon Tatham 2012-05-06 14:01:35 +00:00
  • 3fbb23e354 GNUstep compatibility: comment out some API calls that GNUstep apparently doesn't have. Fortunately they were optional anyway. Simon Tatham 2012-05-06 14:01:34 +00:00
  • 41dc4a2195 GNUstep compatibility: spell null selectors "NULL", not "nil". Simon Tatham 2012-05-06 14:01:32 +00:00
  • 22ebad30e4 Add a section to mkfiles.pl to build a makefile that compiles the OS X front end using GNUstep, yielding a Unix program built from the same code. Should make it easier to check OS X behaviour without having to move as far as a Mac :-) However, it doesn't compile as is, so I'll apply fixes to the code until it does. Simon Tatham 2012-05-06 14:01:32 +00:00
  • d0ff371b14 Stop using the deprecated NSString stringWithCString: methods. Simon Tatham 2012-05-06 11:36:32 +00:00
  • 14da5088e8 Update the OS X makefile so I can build on Lion. Regrettably that means I have to withdraw support for OS X 10.3 and PPC. Simon Tatham 2012-05-06 11:35:59 +00:00
  • 8b96f9b996 Permit users to reconfigure the default setting for each puzzle using another of those hacky environment variables. Simon Tatham 2012-04-10 19:51:57 +00:00
  • ec732a4f4e Add a difficulty exception to prevent Pearl spinning forever when asked to generate a 5x5 Tricky puzzle. (Debian bug #667963) Simon Tatham 2012-04-08 13:45:10 +00:00
  • b40b89f879 Typo fix from Helge Kreutzmann, forwarded from Debian. Simon Tatham 2012-04-08 13:45:09 +00:00
  • 812800a8b2 Increase by 1 pixel the clip rectangle used to draw and erase the Black Box finish button. Like the Guess blitter, it was assuming non-expansion of circles. Simon Tatham 2012-04-08 13:06:47 +00:00
  • b4f3b57aa1 Swap a 'max' for a 'min', fixing an out-of-range colour component being passed to the front end. Simon Tatham 2012-04-08 13:06:46 +00:00
  • 48fef05eb6 Increase by 1 in every direction the size of the blitter used to save the background under a Guess coloured peg in mid-drag. Currently it assumes the circle doesn't extend into the next pixel, which the docs for draw_circle warn might happen due to antialiasing. Simon Tatham 2012-04-08 13:06:45 +00:00
  • 51d1f0f856 Add an explicit -lm to the link lines in Makefile.gtk, after two users reported on the same day that this is now necessary since up-to-date GNU tools won't consider it sufficient to have libm be a dependency of other explicitly referenced libraries if you're directly referring to the contents of libm yourself. Simon Tatham 2012-04-07 22:28:59 +00:00
  • 4f81608c40 Fix redundant redrawing in Pegs. Apparently it has always redrawn every single peg and hole on the board, every time it did any kind of redraw at all, because I forgot to update the array in the drawstate indicating the last-drawn state of each position. And nobody's noticed until now! Simon Tatham 2012-04-07 22:19:18 +00:00
  • e3f9741317 Change some instances of 'print $thing' to 'print $thing || ""', to prevent annoying Perl warnings when $thing is undefined. Simon Tatham 2012-04-07 22:19:17 +00:00
  • 704890390d Error checking in Pattern, which was until now the only remaining game that _ought_ to have it but did not. Simon Tatham 2012-04-06 12:34:34 +00:00
  • 88accd3ea5 Comment the Mac build out of Buildscr, since I no longer have a working Mac and hence can't build it any more. Simon Tatham 2012-04-03 12:49:22 +00:00
  • faabfe3b62 Patch from Jonas Koelker to add keyboard control support to Pearl. Simon Tatham 2012-02-19 10:15:59 +00:00
  • f38adf6394 Tweak a conditional expression in pearl.c to work around a display bug in the Java build - which turns out to be a JVM bug in OpenJDK 6, causing the NestedVM rendition of the expression (i==1?3:4) to be mis-JITed. OpenJDK 7 appears not to do that any more, but this equivalent (for these purposes) rephrasing should perturb the code just enough to dodge the problem. Simon Tatham 2012-02-17 19:07:31 +00:00
  • 21629d7e44 Fix one-character typo in r9405 which was breaking right-clicks. Simon Tatham 2012-02-13 21:10:47 +00:00
  • 0c13787c2a David Nickerson reports odd behaviour involving a drag start point persisting between separate mouse actions. Revamp all uses of the ndragcoords field in an attempt to stamp that out: we now distinguish between active drags (>0), a valid click but no drag yet (0), and a totally invalid situation in which all mouse activity will be ignored until the next fresh attempt (-1). Simon Tatham 2012-02-08 23:31:58 +00:00
  • bd20565c94 Correct kdiff setting. Simon Tatham 2012-02-02 23:04:46 +00:00
  • e6b4800d86 Don't try to run solver_killer_sums on a Killer cage with only one square. It isn't equipped for it, and will try to handle it with the 4-square case and get confused. This can come up if the DIFF_KINTERSECT pass before that split a cage, and will cause the solver to miss valid solutions; e.g. 3x3kadu#802065940985372 would generate an ambiguous puzzle before this change. Simon Tatham 2012-02-02 23:04:43 +00:00
  • e3b21ef6c5 Fix a couple of typos in messages. Simon Tatham 2012-02-02 23:04:38 +00:00
  • 340c300c1d David Nickerson reports that it's possible to lay a line over a 'no line here' cross mark by dragging, and furthermore, that doing so puts that grid edge into a stuck state that no UI action short of undo can get it back out of. Fix drags to stop at crosses, and fix execute_move to fault any move string that nonetheless somehow managed to try to set a line over a cross without explicitly tagging it 'R'. Simon Tatham 2012-02-02 07:18:14 +00:00
  • ed63f9c50e Sort out a bit of confusion between mouse- and keyboard-driven drags in Rectangles. Mouse drags now take priority - you can't start a keyboard drag while the mouse is held down, and starting a mouse drag instantly cancels an unfinished keyboard drag - and also I've fixed an assertion failure which would come up if you had the keyboard cursor visible at the end of a mouse drag (by pressing arrow keys while the mouse was held down). Simon Tatham 2012-01-31 08:38:42 +00:00
  • f3168895c8 Move a debug statement at the end of new_clues from the caller (just after return) to the callee (just before). Might print something useful in the soak-test context (where that debug statement will now be printed and previously wasn't), but the main aim is to remove the variable 'ngen' at the main call site, which triggered a set-but-not- used warning if the debug statement that printed it was compiled out. Simon Tatham 2012-01-31 08:32:26 +00:00
  • 070327a440 Add comments suggesting some solver upgrades to Light Up (perhaps for a new sub-recursive difficulty level?), inspired by a user emailing in the game ID 18x10:gBc1b2g2e2d1b2c2h2e3c2dBd1g1bBb2b1fBbBb1bBgBd2dBi1h1c2b1dBe2bBdBb3cBg which I was able to solve without backtracking by the use of these techniques. Simon Tatham 2012-01-23 19:12:12 +00:00
  • 4eb748a29c The Light Up solver limits its recursion depth, so if it fails to find a solution then it should not deduce that no solution exists. Change wording of the error message returned from the Solve user action. Simon Tatham 2012-01-23 18:56:05 +00:00
  • 5c972e9ebf Fix default parameter assignment in Light Up when validating an incomplete parameter string: if the user hand-types a game ID along the lines of '18x10:stuff', we should not assume SYMM_ROT4 in the resulting game_params, since it'll be failed by validate_params. Simon Tatham 2012-01-23 18:56:04 +00:00
  • 5e1c11ab69 Trivial and silly patch to allow users to configure the Signpost victory roll so that adjacent arrows rotate in opposite directions, giving the impression that they're an interlocking field of gears. Possibly even more brain-twisting than the original version :-) Simon Tatham 2012-01-22 15:52:14 +00:00
  • 660216a1c4 It's a new year. (It was a new year this time last year, too.) Jacob Nevins 2012-01-22 15:44:04 +00:00
  • e406092a0e Tweak right-click processing to be less finicky. Simon Tatham 2012-01-22 15:12:56 +00:00
  • b16eece9fc New puzzle! Or rather, new-ish, because this one has been lying around in the 'unfinished' directory for a while, and has now been finished up thanks to James Harvey putting in some effort and galvanising me to put in the rest. This is 'Pearl', an implementation of Nikoli's 'Masyu'. Simon Tatham 2012-01-22 14:14:26 +00:00
  • b2d7429d53 Fix a bug causing premature defeatism in the Bridges solver. Deducing a better upper bound on the number of bridges leaving a given island in a given direction was not counted as having 'done something'; so a solver run could make several such deductions, but then terminate in the belief that it hadn't achieved anything, when just going back round the main solver loop would have enabled it to make further deductions based on those new bounds. Simon Tatham 2012-01-17 18:53:02 +00:00
  • 7024735f89 Allow --save to work with --soln, causing saved game files to be written out with the Solve operation having already been performed. Simon Tatham 2011-12-28 18:17:30 +00:00
  • b5cb02b61a Fix bug in error reporting for --save caused by freeing 'realname' before the error messages wanted to use it. Simon Tatham 2011-12-28 18:07:46 +00:00
  • 236f965093 Fix bug in --save caused by failure to initialise ctx.error to zero before later checking to see if an errno code was dumped in it. Simon Tatham 2011-12-28 18:07:46 +00:00