pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/editors/hnb



Module Name:    pkgsrc
Committed By:   fox
Date:           Mon Nov 26 09:15:53 UTC 2018

Modified Files:
        pkgsrc/editors/hnb: Makefile distinfo
        pkgsrc/editors/hnb/patches: patch-ac
Added Files:
        pkgsrc/editors/hnb/patches: patch-src_actions.c patch-src_cal.c
            patch-src_cli__macro.c patch-src_clipboard.c patch-src_evilloop.c
            patch-src_expanded.c patch-src_file.c patch-src_file__ascii.c
            patch-src_file__help.c patch-src_file__hnb.c patch-src_file__html.c
            patch-src_file__opml.c patch-src_file__ps.c patch-src_file__xml.c
            patch-src_libcli_cli.c patch-src_libcli_cli.h
            patch-src_libcli_cli__tokenize.c patch-src_node.c patch-src_query.c
            patch-src_search.c patch-src_spell.c patch-src_statcmds.c
            patch-src_state.c patch-src_tree__misc.c patch-src_tree__sort.c
            patch-src_tree__todo.c patch-src_ui__binding.c patch-src_ui__cli.c
            patch-src_ui__draw.c patch-src_ui__edit.c patch-src_ui__menu.c
            patch-src_ui__overlay.c patch-src_ui__style.c
Removed Files:
        pkgsrc/editors/hnb/patches: patch-aa patch-ab

Log Message:
editors/hnb: Fixed segfault in amd64 builds.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 pkgsrc/editors/hnb/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/editors/hnb/distinfo
cvs rdiff -u -r1.3 -r0 pkgsrc/editors/hnb/patches/patch-aa \
    pkgsrc/editors/hnb/patches/patch-ab
cvs rdiff -u -r1.1 -r1.2 pkgsrc/editors/hnb/patches/patch-ac
cvs rdiff -u -r0 -r1.1 pkgsrc/editors/hnb/patches/patch-src_actions.c \
    pkgsrc/editors/hnb/patches/patch-src_cal.c \
    pkgsrc/editors/hnb/patches/patch-src_cli__macro.c \
    pkgsrc/editors/hnb/patches/patch-src_clipboard.c \
    pkgsrc/editors/hnb/patches/patch-src_evilloop.c \
    pkgsrc/editors/hnb/patches/patch-src_expanded.c \
    pkgsrc/editors/hnb/patches/patch-src_file.c \
    pkgsrc/editors/hnb/patches/patch-src_file__ascii.c \
    pkgsrc/editors/hnb/patches/patch-src_file__help.c \
    pkgsrc/editors/hnb/patches/patch-src_file__hnb.c \
    pkgsrc/editors/hnb/patches/patch-src_file__html.c \
    pkgsrc/editors/hnb/patches/patch-src_file__opml.c \
    pkgsrc/editors/hnb/patches/patch-src_file__ps.c \
    pkgsrc/editors/hnb/patches/patch-src_file__xml.c \
    pkgsrc/editors/hnb/patches/patch-src_libcli_cli.c \
    pkgsrc/editors/hnb/patches/patch-src_libcli_cli.h \
    pkgsrc/editors/hnb/patches/patch-src_libcli_cli__tokenize.c \
    pkgsrc/editors/hnb/patches/patch-src_node.c \
    pkgsrc/editors/hnb/patches/patch-src_query.c \
    pkgsrc/editors/hnb/patches/patch-src_search.c \
    pkgsrc/editors/hnb/patches/patch-src_spell.c \
    pkgsrc/editors/hnb/patches/patch-src_statcmds.c \
    pkgsrc/editors/hnb/patches/patch-src_state.c \
    pkgsrc/editors/hnb/patches/patch-src_tree__misc.c \
    pkgsrc/editors/hnb/patches/patch-src_tree__sort.c \
    pkgsrc/editors/hnb/patches/patch-src_tree__todo.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__binding.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__cli.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__draw.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__edit.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__menu.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__overlay.c \
    pkgsrc/editors/hnb/patches/patch-src_ui__style.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/editors/hnb/Makefile
diff -u pkgsrc/editors/hnb/Makefile:1.27 pkgsrc/editors/hnb/Makefile:1.28
--- pkgsrc/editors/hnb/Makefile:1.27    Tue Sep  8 11:57:49 2015
+++ pkgsrc/editors/hnb/Makefile Mon Nov 26 09:15:53 2018
@@ -1,14 +1,15 @@
-# $NetBSD: Makefile,v 1.27 2015/09/08 11:57:49 jperkin Exp $
+# $NetBSD: Makefile,v 1.28 2018/11/26 09:15:53 fox Exp $
 #
 
 DISTNAME=      hnb-1.9.17
-PKGREVISION=   4
+PKGREVISION=   5
 CATEGORIES=    editors
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=hnb/}
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      http://hnb.sourceforge.net/
 COMMENT=       Hierarchical data organizer
+LICENSE=       gnu-gpl-v2
 
 USE_TOOLS+=            gmake
 

Index: pkgsrc/editors/hnb/distinfo
diff -u pkgsrc/editors/hnb/distinfo:1.6 pkgsrc/editors/hnb/distinfo:1.7
--- pkgsrc/editors/hnb/distinfo:1.6     Tue Nov  3 03:32:17 2015
+++ pkgsrc/editors/hnb/distinfo Mon Nov 26 09:15:53 2018
@@ -1,9 +1,40 @@
-$NetBSD: distinfo,v 1.6 2015/11/03 03:32:17 agc Exp $
+$NetBSD: distinfo,v 1.7 2018/11/26 09:15:53 fox Exp $
 
 SHA1 (hnb-1.9.17.tar.gz) = b5204a9bda13b42ef04921e71f52e5bfe5412f13
 RMD160 (hnb-1.9.17.tar.gz) = 1363eac8a785a3bad2ac319ae38726cd826268cf
 SHA512 (hnb-1.9.17.tar.gz) = 48ca89336027b54ddec31064294595498f10927d9b69a115bfbdecf79ebc720873c0cc70dc646422f196cff7aa4fda68fc2f68f4ddacfac53d4363ed295d2e7a
 Size (hnb-1.9.17.tar.gz) = 143700 bytes
-SHA1 (patch-aa) = f44cef4b2a3ccf20513420a1f57946e342aa2ee3
-SHA1 (patch-ab) = 9c87fbe5ddfb7525941cb8e1d66d377fbe726811
-SHA1 (patch-ac) = 88778957d3a52aa6c8b9811133dfe4f2ceca213e
+SHA1 (patch-ac) = d750eae0a0fbb61a75fce3d427bf2afdbeb806c6
+SHA1 (patch-src_actions.c) = 5c2f340e205c982d759415385f6f0038ee7ca404
+SHA1 (patch-src_cal.c) = 162a4acfa9a388ec5a1b1e9d8b5ac69f93715745
+SHA1 (patch-src_cli__macro.c) = 593bfaf56dd083ef0da45c3f320af095cd411bd1
+SHA1 (patch-src_clipboard.c) = 4dde4765825e5362f66c8b7c63ba40c1e154c63c
+SHA1 (patch-src_evilloop.c) = 4f55e0dabdeede6f33cebeb18d5c6b64c51bfbf7
+SHA1 (patch-src_expanded.c) = 772d71db739164ce59c9fe3d3b93b862063f3ee3
+SHA1 (patch-src_file.c) = 884445d3b5a2d9590ea6e1e0a1e6df98cf69bdab
+SHA1 (patch-src_file__ascii.c) = 7b523b941791b6337a13c11ce1a70c99a170b707
+SHA1 (patch-src_file__help.c) = 7a9604126a1fb4af182a1236eb5a873b82ae1690
+SHA1 (patch-src_file__hnb.c) = c2549af8b806eaef4fc760712657860d4f7b31ca
+SHA1 (patch-src_file__html.c) = 162f68b3e417b2eeb7a889ad23836dc4c79b2049
+SHA1 (patch-src_file__opml.c) = 588e1b339f0991c105d30fe077a8fa95bbdf6f9d
+SHA1 (patch-src_file__ps.c) = 7789097bd9e5ca1950e53295903a2edcb47a983e
+SHA1 (patch-src_file__xml.c) = 1bcda1d25bd1aa22e10c7eea40c7e99c05377f75
+SHA1 (patch-src_libcli_cli.c) = baabda1de8c8e24f370d06efbd9b0bd09262224d
+SHA1 (patch-src_libcli_cli.h) = c6b2ace10000bfd176418e2ecbcd8a2abb04a1e1
+SHA1 (patch-src_libcli_cli__tokenize.c) = 503d4cdd51a40773b75fe2fa8bbbafc3d1e16941
+SHA1 (patch-src_node.c) = cd6541ab5a2da5759106126d5e36e59b8b12e600
+SHA1 (patch-src_query.c) = 8f55f91444f9691655c54163c25ccb6bbad16bd0
+SHA1 (patch-src_search.c) = c7a88b365eb489a0e27d9badb1c67477aaa39b1c
+SHA1 (patch-src_spell.c) = eb05674a5c2c48e779412ba011b76a774a8087a0
+SHA1 (patch-src_statcmds.c) = 439c85247d7c2a3622cd5e09683932aac251bef6
+SHA1 (patch-src_state.c) = 24d5c9d710c8b90447f4aa2ea9431d9f2f571bed
+SHA1 (patch-src_tree__misc.c) = e8bbc96c577d77614d37f2d73ec8373304cdd245
+SHA1 (patch-src_tree__sort.c) = 95780063a609fa7b9dd1c3230e2d23dfb96ad8b5
+SHA1 (patch-src_tree__todo.c) = 43837efeddab88b4f03caa54d983f68042bda35e
+SHA1 (patch-src_ui__binding.c) = 334b952a2851d84a2e39d7256a68a584691534ca
+SHA1 (patch-src_ui__cli.c) = aa8663c7244122aac7f92f6c73369d31f41e36ad
+SHA1 (patch-src_ui__draw.c) = 637fc52cd1c44574a7f7342d92800be40e1092d6
+SHA1 (patch-src_ui__edit.c) = 6f01ecd0c0f9eaf9b05fa679b912de2ffeafb00d
+SHA1 (patch-src_ui__menu.c) = b6a7136b364f6c8f5e1afc01876601ad4f93dbf5
+SHA1 (patch-src_ui__overlay.c) = a8684a61bb97ebe85f4c3eec76ae77bcaa3c70b7
+SHA1 (patch-src_ui__style.c) = 0dbe1533587cb2bda9e077884a16df275269746e

Index: pkgsrc/editors/hnb/patches/patch-ac
diff -u pkgsrc/editors/hnb/patches/patch-ac:1.1 pkgsrc/editors/hnb/patches/patch-ac:1.2
--- pkgsrc/editors/hnb/patches/patch-ac:1.1     Sat Oct  1 18:52:03 2005
+++ pkgsrc/editors/hnb/patches/patch-ac Mon Nov 26 09:15:53 2018
@@ -1,4 +1,6 @@
-$NetBSD: patch-ac,v 1.1 2005/10/01 18:52:03 kristerw Exp $
+$NetBSD: patch-ac,v 1.2 2018/11/26 09:15:53 fox Exp $
+
+Added the curses library path for pkgsrc.
 
 --- src/Makefile.orig  Sat Oct  1 20:43:07 2005
 +++ src/Makefile       Sat Oct  1 20:43:40 2005

Added files:

Index: pkgsrc/editors/hnb/patches/patch-src_actions.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_actions.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_actions.c      Mon Nov 26 09:15:53 2018
@@ -0,0 +1,55 @@
+$NetBSD: patch-src_actions.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/actions.c.orig 2003-03-14 01:06:36.000000000 +0000
++++ src/actions.c
+@@ -32,7 +32,7 @@
+ static char web_command[255] = "galeon -n *";
+ static char mail_command[255] = "rxvt -rv +sb -e mutt *";
+ 
+-static int cmd_system(int argc, char **argv, void *data){
++static uint64_t cmd_system(int argc, char **argv, void *data){
+       Node *pos=(Node *)data;
+       int ui_was_inited = ui_inited;
+       if (argc>1) {
+@@ -42,7 +42,7 @@
+               if (ui_was_inited)
+                       ui_init ();
+       }
+-      return (int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ static int action_node (Node *node)
+@@ -136,21 +136,21 @@
+  * url/email address substring,.. and launches an app based on that?
+  *
+  */
+-static int cmd_action (int argc, char **argv, void *data)
++static uint64_t cmd_action (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       Node *node = node_right (pos);
+ 
+       while (node) {
+               if (!action_node (node))
+-                      return (int) pos;
++                      return PTR_TO_UINT64(pos);
+               node = node_down (node);
+       }
+       if (!action_node (pos)) {
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       } else {
+               cli_outfunf ("nothing to do");
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       /***
Index: pkgsrc/editors/hnb/patches/patch-src_cal.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_cal.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_cal.c  Mon Nov 26 09:15:53 2018
@@ -0,0 +1,64 @@
+$NetBSD: patch-src_cal.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+In NetBSD-1.6.2, the <stdlib.h> header uses the word bufsize as a
+parameter name in a function prototype. The "file.h" header #defines
+bufsize to 4096, which leads to a parser error.
+
+Above fix made by rilling on 2005/03/11
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems. 
+
+--- src/cal.c.orig     2003-03-14 01:06:36.000000000 +0000
++++ src/cal.c
+@@ -19,15 +19,15 @@
+  */
+ 
+ /**************/
++#include <stdlib.h>
++#include <stdio.h>
++#include <time.h>
++
+ #include "tree.h"
+ #include "cli.h"
+ #include "ui.h"
+ #include "file.h"
+ 
+-#include <stdlib.h>
+-#include <stdio.h>
+-#include <time.h>
+-
+ static char *const wday[] = 
+       { "Sun", "Mon", "Tue",  "Wed", "Thu", "Fri", "Sat", "   "};
+ 
+@@ -35,7 +35,7 @@
+         "", "January", "February", "March", "April", "May" ,"June", "July",
+         "August", "September", "October", "November" , "December"};
+ 
+-static int insert_cal(int argc, char **argv, void *data){
++static uint64_t insert_cal(int argc, char **argv, void *data){
+       Node *pos=(void *)data;
+ 
+       int year;
+@@ -44,7 +44,7 @@
+       
+       if( (argc!=3) || (atoi(argv[1])>12 )){
+               cli_outfunf("usage: %s <month> <year>", argv[0]);
+-              return (int)data;
++              return PTR_TO_UINT64(data);
+       }
+ 
+       month=atoi(argv[1]);
+@@ -96,7 +96,7 @@
+               }
+       }       
+ 
+-      return (int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_cli__macro.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_cli__macro.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_cli__macro.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_cli__macro.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/cli_macro.c.orig       2003-03-09 20:44:27.000000000 +0000
++++ src/cli_macro.c
+@@ -80,7 +80,7 @@
+       return pos;
+ }
+ 
+-static int cmd_macro (int argc, char **argv, void *data)
++static uint64_t cmd_macro (int argc, char **argv, void *data)
+ {
+       Node *pos=(Node *)data;
+       if(argc==1){
+@@ -88,7 +88,7 @@
+       } else if(argc==2){
+               MacroT *tmacro=lookup_macro(argv[1]);
+               if(tmacro){
+-                      return (int)do_macro(tmacro,pos);
++                      return PTR_TO_UINT64(do_macro(tmacro,pos));
+               } else {
+                       cli_outfunf("no such macro defined '%s'",argv[1]);
+               }
+@@ -97,7 +97,7 @@
+               if(!strcmp(argv[1],"define") ){
+                       if(lookup_macro(argv[2])){
+                               cli_outfunf("error macro %s already exist,.. this might turn out badly,.. " ,argv[2]);
+-                              return (int) pos;
++                              return PTR_TO_UINT64(pos);
+                       } else {
+                               MacroT *tmacro;
+                               if(!macro){
+@@ -119,7 +119,7 @@
+                       
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_clipboard.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_clipboard.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_clipboard.c    Mon Nov 26 09:15:53 2018
@@ -0,0 +1,55 @@
+$NetBSD: patch-src_clipboard.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/clipboard.c.orig       2003-03-09 17:42:20.000000000 +0000
++++ src/clipboard.c
+@@ -29,7 +29,7 @@
+ 
+ static Node *clipboard = NULL;
+ 
+-static int copy_cmd (int argc,char **argv, void *data)
++static uint64_t copy_cmd (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -39,10 +39,10 @@ static int copy_cmd (int argc,char **arg
+       clipboard = node_new ();
+ 
+       clipboard = tree_duplicate (pos, clipboard);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int cut_cmd (int argc,char **argv, void *data)
++static uint64_t cut_cmd (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -53,10 +53,10 @@ static int cut_cmd (int argc,char **argv
+ 
+       clipboard = tree_duplicate (pos, clipboard);
+       pos = node_remove (pos);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int paste_cmd (int argc,char **argv, void *data)
++static uint64_t paste_cmd (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -68,7 +68,7 @@ static int paste_cmd (int argc,char **ar
+               temp = node_insert_down (pos);
+               tree_duplicate (clipboard, temp);
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_evilloop.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_evilloop.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_evilloop.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_evilloop.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/evilloop.c.orig        2003-03-14 04:40:35.000000000 +0000
++++ src/evilloop.c
+@@ -122,10 +122,10 @@
+ 
+ int quit_hnb=0;
+ 
+-static int cmd_quit(int argc,char **argv,void *data){
++static uint64_t cmd_quit(int argc,char **argv,void *data){
+       Node *pos=(Node *)data;
+       quit_hnb=1;
+-      return (int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_expanded.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_expanded.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_expanded.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,72 @@
+$NetBSD: patch-src_expanded.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/expanded.c.orig        2003-03-13 21:31:18.000000000 +0000
++++ src/expanded.c
+@@ -18,16 +18,18 @@
+  * Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+  */
+ 
++#include <string.h>
++
+ #include "tree.h"
+ #include "cli.h"
+-#define NULL 0
++//#define NULL 0
+ 
+ #include "evilloop.h"
+ #include "ctype.h"
+ #include "ui_binding.h"
+ 
+ 
+-static int cmd_expand (int argc,char **argv, void *data)
++static uint64_t cmd_expand (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       if(argc==1){
+@@ -36,7 +36,7 @@
+                               inputbuf[strlen (inputbuf) + 1] = 0;
+                               inputbuf[strlen (inputbuf)] = lastbinding->key;
+                       }
+-                      return (int)pos;
++                      return PTR_TO_UINT64(pos);
+               }
+               node_setflag(pos,F_expanded,1);
+       } else if((!strcmp(argv[1],"-a"))||(!strcmp(argv[1],"--all"))){
+@@ -48,10 +48,10 @@
+               }
+               cli_outfun ("expanded all nodes");
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int cmd_collapse (int argc,char **argv, void *data)
++static uint64_t cmd_collapse (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       if(argc==1){
+@@ -60,7 +60,7 @@
+                               inputbuf[strlen (inputbuf) + 1] = 0;
+                               inputbuf[strlen (inputbuf)] = lastbinding->key;
+                       }               
+-                      return (int)pos;
++                      return PTR_TO_UINT64(pos);
+               }
+               node_setflag(pos,F_expanded,0);
+       } else if((!strcmp(argv[1],"-a"))||(!strcmp(argv[1],"--all"))){
+@@ -73,7 +73,7 @@
+               cli_outfun ("collapsed all nodes");
+       }
+       
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_file.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file.c Mon Nov 26 09:15:53 2018
@@ -0,0 +1,42 @@
+$NetBSD: patch-src_file.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file.c.orig    2003-03-13 22:55:13.000000000 +0000
++++ src/file.c
+@@ -150,7 +150,7 @@
+ }
+ 
+ 
+-static int cmd_save (int argc,char **argv, void *data)
++static uint64_t cmd_save (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -167,10 +167,10 @@
+                       docmd (node_root (pos), buf);
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int cmd_revert (int argc,char **argv, void *data)
++static uint64_t cmd_revert (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -185,7 +185,7 @@
+                       pos=docmd (pos, buf);
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_file__ascii.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__ascii.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__ascii.c  Mon Nov 26 09:15:53 2018
@@ -0,0 +1,65 @@
+$NetBSD: patch-src_file__ascii.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_ascii.c.orig      2003-03-14 00:37:39.000000000 +0000
++++ src/file_ascii.c
+@@ -34,7 +34,7 @@
+ 
+ static int ascii_margin = -1;
+ 
+-static int import_ascii (int argc, char **argv, void *data)
++static uint64_t import_ascii (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -46,7 +46,7 @@
+       file = fopen (filename, "r");
+       if (file == NULL) {
+               cli_outfunf ("ascii import, unable to open \"%s\"", filename);
+-              return (int) (node);
++              return PTR_TO_UINT64 (node);
+       }
+ 
+       init_import (&ist, node);
+@@ -73,7 +73,7 @@
+       cli_outfunf ("ascii import, imported \"%s\"", filename);
+ 
+ 
+-      return (int) (node);
++      return PTR_TO_UINT64 (node);
+ }
+ 
+ static void ascii_export_node (FILE * file, int level, int flags, char *data)
+@@ -95,7 +95,7 @@
+       }
+ }
+ 
+-static int export_ascii (int argc, char **argv, void *data)
++static uint64_t export_ascii (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -110,7 +110,7 @@
+               file = fopen (filename, "w");
+       if (!file) {
+               cli_outfunf ("ascii export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       startlevel = nodes_left (node);
+ 
+@@ -130,7 +130,7 @@
+ 
+       cli_outfunf ("ascii export, wrote output to \"%s\"", filename);
+ 
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_file__help.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__help.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__help.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,51 @@
+$NetBSD: patch-src_file__help.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_help.c.orig       2003-03-14 00:37:23.000000000 +0000
++++ src/file_help.c
+@@ -42,7 +42,7 @@ static char *helpquote[]={
+ 
+ /* *INDENT-ON* */
+ 
+-static int export_help (int argc, char **argv, void *data)
++static uint64_t export_help (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -55,7 +55,7 @@ static int export_help (int argc, char *
+       if (!file) {
+               cli_outfunf ("help export, unable to open \"%s\"", filename);
+ 
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       startlevel = nodes_left (node);
+ 
+@@ -86,10 +86,10 @@ static int export_help (int argc, char *
+       fclose (file);
+ 
+       cli_outfunf ("help export, wrote data to \"%s\"", filename);
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+-static int import_help (int argc, char **argv, void *data)
++static uint64_t import_help (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       import_state_t ist;
+@@ -100,7 +100,7 @@ static int import_help (int argc, char *
+       if (node_getflag (node, F_temp))
+               node = node_remove (node);
+ 
+-      return (int) (node);
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_file__hnb.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__hnb.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__hnb.c    Mon Nov 26 09:15:53 2018
@@ -0,0 +1,69 @@
+$NetBSD: patch-src_file__hnb.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t.
+2. Replaced pointer to int type cast with a macro to help
+   convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_hnb.c.orig        2003-03-14 00:37:13.000000000 +0000
++++ src/file_hnb.c
+@@ -105,7 +105,7 @@ static void hnb_export_nodes (FILE * fil
+       }
+ }
+ 
+-static int export_hnb (int argc, char **argv, void *data)
++static uint64_t export_hnb (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc>=2?argv[1]:"";
+@@ -118,7 +118,7 @@ static int export_hnb (int argc, char **
+ 
+       if (!file) {
+               cli_outfunf ("hnb export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+ 
+       fprintf (file, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><?pos=\"%s\"?>\n\
+@@ -143,11 +143,11 @@ static int export_hnb (int argc, char **
+ 
+       cli_outfunf ("hnb export, wrote data to \"%s\"", filename);
+ 
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ 
+-static int import_hnb (int argc, char **argv, void *data)
++static uint64_t import_hnb (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -170,7 +170,7 @@ static int import_hnb (int argc, char **
+       file = fopen (filename, "r");
+       if (!file) {
+               cli_outfunf ("hnb import, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       s = xml_tok_init (file);
+       init_import (&ist, node);
+@@ -180,7 +180,7 @@ static int import_hnb (int argc, char **
+                       cli_outfunf ("hnb import error, parsing og '%s' line:%i, %s", filename,
+                                                s->line_no, rdata);
+                       fclose (file);
+-                      return (int) node;
++                      return PTR_TO_UINT64(node);
+               }
+               if (in_tree) {
+                       if (type == t_tag && !strcmp (rdata, "node")) {
+@@ -263,7 +263,7 @@ static int import_hnb (int argc, char **
+ 
+       xml_tok_cleanup (s);
+ 
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_file__html.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__html.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__html.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,65 @@
+$NetBSD: patch-src_file__html.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_html.c.orig       2003-03-14 00:36:52.000000000 +0000
++++ src/file_html.c
+@@ -52,7 +52,7 @@ static char *htmlquote[]={
+ /* *INDENT-ON* */
+ 
+ 
+-static int export_html (int argc, char **argv, void *data)
++static uint64_t export_html (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -67,7 +67,7 @@ static int export_html (int argc, char *
+               file = fopen (filename, "w");
+       if (!file) {
+               cli_outfunf ("html export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+ 
+       startlevel = nodes_left (node);
+@@ -130,7 +130,7 @@ static int export_html (int argc, char *
+               fclose (file);
+ 
+       cli_outfunf ("html export, saved output in \"%s\"", filename);
+-      return (int) node;
++      return  PTR_TO_UINT64(node);
+ }
+ 
+ static void htmlcss_export_nodes (FILE * file, Node *node, int level)
+@@ -162,7 +162,7 @@ static void htmlcss_export_nodes (FILE *
+ }
+ 
+ 
+-static int export_htmlcss (int argc, char **argv, void *data)
++static uint64_t export_htmlcss (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -174,7 +174,7 @@ static int export_htmlcss (int argc, cha
+               file = fopen (filename, "w");
+       if (!file) {
+               cli_outfunf ("html export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+ 
+       fprintf (file, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\
+@@ -224,7 +224,7 @@ div.level2 {\n\
+               fclose (file);
+ 
+       cli_outfunf ("html css export, saved output in \"%s\"", filename);
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_file__opml.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__opml.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__opml.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,69 @@
+$NetBSD: patch-src_file__opml.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_opml.c.orig       2003-03-14 00:36:39.000000000 +0000
++++ src/file_opml.c
+@@ -90,7 +90,7 @@ static void opml_export_nodes (FILE * fi
+       }
+ }
+ 
+-static int export_opml (int argc, char **argv, void *data)
++static uint64_t export_opml (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc>=2?argv[1]:"";
+@@ -103,7 +103,7 @@ static int export_opml (int argc, char *
+ 
+       if (!file) {
+               cli_outfunf ("opml export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+ 
+       fprintf (file, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><?pos=\"%s\"?>\n\
+@@ -133,10 +133,10 @@ static int export_opml (int argc, char *
+ 
+       cli_outfunf ("opml export, wrote data to \"%s\"", filename);
+ 
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+-static int import_opml (int argc, char **argv, void *data)
++static uint64_t import_opml (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -154,7 +154,7 @@ static int import_opml (int argc, char *
+       file = fopen (filename, "r");
+       if (!file) {
+               cli_outfunf ("opml import, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       s = xml_tok_init (file);
+       init_import (&ist, node);
+@@ -164,7 +164,7 @@ static int import_opml (int argc, char *
+                       cli_outfunf ("opml import error, parsing og '%s', line:%i %s", filename,
+                                                s->line_no, rdata);
+                       fclose (file);
+-                      return (int) node;
++                      return PTR_TO_UINT64(node);
+               }
+               if (in_body) {
+                       if (type == t_tag && !strcmp (rdata, "outline")) {
+@@ -208,7 +208,7 @@ static int import_opml (int argc, char *
+ 
+       cli_outfunf ("opml import - imported \"%s\" %i lines", filename, s->line_no);
+       xml_tok_cleanup (s);
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_file__ps.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__ps.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__ps.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_file__ps.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_ps.c.orig 2003-03-14 00:36:23.000000000 +0000
++++ src/file_ps.c
+@@ -60,7 +60,7 @@ static void ps_export_node (FILE * file,
+       free(quoted);
+ }
+ 
+-static int export_ps (int argc, char **argv, void *data)
++static uint64_t export_ps (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -75,7 +75,7 @@ static int export_ps (int argc, char **a
+               file = fopen (filename, "w");
+       if (!file) {
+               cli_outfunf ("postscript export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       startlevel = nodes_left (node);
+ 
+@@ -225,7 +225,7 @@ close\n\
+       cli_outfunf ("postscript export, saved output to \"%s\"", filename);
+       if (file != stdout)
+               fclose (file);
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_file__xml.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_file__xml.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_file__xml.c    Mon Nov 26 09:15:53 2018
@@ -0,0 +1,74 @@
+$NetBSD: patch-src_file__xml.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/file_xml.c.orig        2003-03-14 00:36:08.000000000 +0000
++++ src/file_xml.c
+@@ -147,7 +147,7 @@ static void xml_export_nodes (FILE * fil
+       }
+ }
+ 
+-static int export_xml (int argc, char **argv, void *data)
++static uint64_t export_xml (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -159,7 +159,7 @@ static int export_xml (int argc, char **
+               file = fopen (filename, "w");
+       if (!file) {
+               cli_outfunf ("xml export, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+ 
+       xml_export_nodes (file, node, 0);
+@@ -170,7 +170,7 @@ static int export_xml (int argc, char **
+       cli_outfunf ("xml export, wrote data to \"%s\"", filename);
+ 
+ 
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /* joins up tags with data if there is data as the first child
+@@ -202,7 +202,7 @@ static Node *xml_cuddle_nodes (Node *nod
+ }
+ 
+ 
+-static int import_xml (int argc, char **argv, void *data)
++static uint64_t import_xml (int argc, char **argv, void *data)
+ {
+       Node *node = (Node *) data;
+       char *filename = argc==2?argv[1]:"";
+@@ -221,7 +221,7 @@ static int import_xml (int argc, char **
+       file = fopen (filename, "r");
+       if (!file) {
+               cli_outfunf ("xml import, unable to open \"%s\"", filename);
+-              return (int) node;
++              return PTR_TO_UINT64(node);
+       }
+       s = xml_tok_init (file);
+       init_import (&ist, node);
+@@ -231,7 +231,7 @@ static int import_xml (int argc, char **
+                       cli_outfunf ("xml import error, parsing og '%s', line:%i %s", filename,
+                                                s->line_no,rdata);
+                       fclose (file);
+-                      return (int) node;
++                      return PTR_TO_UINT64(node);
+               }
+ 
+               switch (type) {
+@@ -328,7 +328,7 @@ static int import_xml (int argc, char **
+ 
+       cli_outfunf ("xml import - imported \"%s\" %i lines", filename, s->line_no);
+       xml_tok_cleanup (s);
+-      return (int) node;
++      return PTR_TO_UINT64(node);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_libcli_cli.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_libcli_cli.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_libcli_cli.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,104 @@
+$NetBSD: patch-src_libcli_cli.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/libcli/cli.c.orig      2003-03-14 02:32:38.000000000 +0000
++++ src/libcli/cli.c
+@@ -113,7 +113,7 @@ static  int item_matches (const char *it
+ 
+ typedef struct ItemT {
+       char *name;                                     /* what the user types */
+-      int (*func) (int argc,char **argv, void *data); /* function that is the command */
++      uint64_t (*func) (int argc,char **argv, void *data);    /* function that is the command */
+       int *integer;                           /* pointer to integer (set to NULL if string) */
+       char *string;                           /* pointer to string (set to NULL if integer) */
+       char *usage;                                    /* helptext for this command */
+@@ -130,7 +130,7 @@ static ItemT *items = NULL;
+ void
+ cli_add_item (char *name,
+                 int *integer, char *string,
+-                int (*func) (int argc,char **argv, void *data), char *usage)
++                uint64_t (*func) (int argc,char **argv, void *data), char *usage)
+ {
+       ItemT *titem = items;
+ 
+@@ -191,8 +191,8 @@ void cli_add_help(char *name, char *help
+ }
+ 
+ 
+-static int help (int argc,char **argv, void *data);
+-static int vars (int argc,char **argv, void *data);
++static uint64_t help (int argc,char **argv, void *data);
++static uint64_t vars (int argc,char **argv, void *data);
+ 
+ static int inited = 0;
+ 
+@@ -224,13 +224,13 @@
+ 
+ int cli_calllevel=0;
+ 
+-int cli_docmd (char *commandline, void *data)
++uint64_t cli_docmd (char *commandline, void *data)
+ {
+       int largc=0;
+       char **largv;
+       
+       ItemT *titem = items;
+-      int ret=(int)data;
++      uint64_t ret=(uint64_t)data;
+       cli_calllevel++;
+ 
+       if (cli_precmd)
+@@ -382,7 +382,7 @@ char *cli_complete (const char *commandl
+ 
+ /* internal commands */
+ 
+-static int help (int argc,char **argv, void *data)
++static uint64_t help (int argc,char **argv, void *data)
+ {
+       if (argc == 1) {                /* show all help */
+               ItemT *titem = items;
+@@ -410,17 +410,17 @@
+                                               cli_outfun ("");
+                                               cli_outfun(titem->help);
+                                       }
+-                                      return(int)data;
++                                      return(uint64_t)data;
+                               }
+                       }
+                       titem = titem->next;
+               }
+               cli_outfunf ("unknown command '%s'", argv[1]);
+       }
+-      return(int)data;        
++      return(uint64_t)data;   
+ }
+ 
+-static int vars (int argc, char **argv, void *data)
++static uint64_t vars (int argc, char **argv, void *data)
+ {
+       ItemT *titem = items;
+ 
+@@ -446,7 +446,7 @@ static int vars (int argc, char **argv, 
+ 
+       cli_outfunf ("----------------");
+       cli_outfunf ("to change a variable: \"variablename newvalue\"");
+-      return(int)data;
++      return(uint64_t)data;
+ }
+ 
+ char *cli_getstring(char *variable){
+@@ -467,7 +467,7 @@ char *cli_getstring(char *variable){
+ 
+ #include <stdio.h>
+ 
+-int cli_load_file(char *filename){
++uint64_t cli_load_file(char *filename){
+       char buf[255];
+       FILE *file;
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_libcli_cli.h
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_libcli_cli.h:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_libcli_cli.h   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,43 @@
+$NetBSD: patch-src_libcli_cli.h,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/libcli/cli.h.orig      2003-03-12 12:20:05.000000000 +0000
++++ src/libcli/cli.h
+@@ -29,6 +29,9 @@
+ #define LIBCLI_H
+ 
+ #include <stdarg.h>
++#include <stdint.h>
++
++#define PTR_TO_UINT64(x) (uint64_t)(uintptr_t)(x)
+ 
+ void argv_sanity(void);
+ 
+@@ -41,7 +44,7 @@ void cli_cleanup(void);
+ void
+ cli_add_item (char *name,
+                 int *integer, char *string,
+-                int (*func) (int argc,char **argv, void *data), char *usage);
++                uint64_t (*func) (int argc,char **argv, void *data), char *usage);
+ 
+ #define cli_add_int(name,integer,usage)\
+       cli_add_item (name, integer, NULL, NULL, usage)
+@@ -52,10 +52,10 @@
+ #define cli_add_command(name,func,usage) \
+       cli_add_item(name, NULL, NULL, func, usage)
+ 
+-int cli_load_file(char *filename);
++uint64_t cli_load_file(char *filename);
+ 
+ char *cli_complete (const char *commandline); /* returns a completed commandline */
+-int cli_docmd (char *commandline, void *data);        /* run commandline */
++uint64_t cli_docmd (char *commandline, void *data);   /* run commandline */
+ 
+ 
+ extern void (*cli_outfun) (char *);   /* the outputting function 
Index: pkgsrc/editors/hnb/patches/patch-src_libcli_cli__tokenize.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_libcli_cli__tokenize.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_libcli_cli__tokenize.c Mon Nov 26 09:15:53 2018
@@ -0,0 +1,24 @@
+$NetBSD: patch-src_libcli_cli__tokenize.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+Replaced char * with unsigned char * since this is how the function
+is used, also prevents compiler from spweing out warnings.
+
+--- src/libcli/cli_tokenize.c.orig     2003-03-14 03:23:22.000000000 +0000
++++ src/libcli/cli_tokenize.c
+@@ -68,14 +68,14 @@ typedef struct {
+ 
+ #ifdef TESTit
+ #define cli_getstring dummy_get_variable
+-static char * dummy_get_variable(char *name){
++static char * dummy_get_variable(unsigned char *name){
+       static char *dummy="<variable expansion not implemented yet>";
+       return dummy;
+ }
+ #endif
+ 
+ #ifndef TESTit
+-char *cli_getstring(char *variable);
++char *cli_getstring(unsigned char *variable);
+ #endif
+ 
+ static rule_entry state_table[s_end][max_rules];
Index: pkgsrc/editors/hnb/patches/patch-src_node.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_node.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_node.c Mon Nov 26 09:15:53 2018
@@ -0,0 +1,79 @@
+$NetBSD: patch-src_node.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/node.c.orig    2003-03-09 17:33:35.000000000 +0000
++++ src/node.c
+@@ -138,48 +138,48 @@
+ #include <stdio.h>
+ 
+ 
+-int cmd_att_set (int argc, char **argv, void *data)
++uint64_t cmd_att_set (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+       if(argc!=3){
+               cli_outfunf("usage: %s <attribute> <value>",argv[0]);
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+               
+       node_set (pos, argv[1], argv[2]);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-int cmd_att_get (int argc, char **argv, void *data)
++uint64_t cmd_att_get (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       char *cdata;
+       
+       if(argc!=2){
+               cli_outfunf("usage: %s <attribute>",argv[0]);
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+                       
+       cdata = node_get (pos, argv[1]);
+ 
+       if (cdata)
+               cli_outfun (cdata);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-int cmd_att_clear (int argc, char **argv, void *data)
++uint64_t cmd_att_clear (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       if(argc!=2){
+               cli_outfunf("usage: %s <attribute>",argv[0]);
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+       node_unset (pos, argv[1]);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-int cmd_att_list (int argc,char **argv, void *data)
++uint64_t cmd_att_list (int argc,char **argv, void *data)
+ {
+       Node_AttItem *att;
+       Node *pos = (Node *) data;
+@@ -189,7 +189,7 @@ int cmd_att_list (int argc,char **argv, 
+               cli_outfunf ("%s: [%s]", att->name, att->data);
+               att = att->next;
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_query.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_query.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_query.c        Mon Nov 26 09:15:53 2018
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_query.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/query.c.orig   2003-03-14 02:29:13.000000000 +0000
++++ src/query.c
+@@ -27,7 +27,7 @@
+ 
+ static char query[100];
+ 
+-static int getquery_cmd (int argc, char **argv, void *data)
++static uint64_t getquery_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -36,7 +36,7 @@ static int getquery_cmd (int argc, char 
+               ui_getstr (argv[1], &query[0]);
+       else
+               ui_getstr ("enter string", &query[0]);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_search.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_search.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_search.c       Mon Nov 26 09:15:53 2018
@@ -0,0 +1,54 @@
+$NetBSD: patch-src_search.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/search.c.orig  2003-03-14 02:19:21.000000000 +0000
++++ src/search.c
+@@ -28,7 +28,7 @@
+ 
+ /************** search ************************/
+ 
+-static int search(int argc,char **argv,void *data){
++static uint64_t search(int argc,char **argv,void *data){
+       Node *pos=(Node *)data;
+       
+       if(argc==2){
+@@ -37,7 +37,7 @@
+                       if (pos == NULL) {
+                               docmdf (pos, "status 'reached bottom of tree and \\'%s\\' not found'",
+                                               argv[1]);
+-                              return (int) data;
++                              return PTR_TO_UINT64(data);
+                       }                       
+               }
+       } else if(argc>2){
+@@ -46,20 +46,20 @@
+                       if (pos == NULL) {
+                               docmdf (pos, "status 'reached top of tree and \\'%s\\' not found'",
+                                               argv[2]);
+-                              return (int) data;
++                              return PTR_TO_UINT64(data);
+                       }                       
+               } else if(!strcmp(argv[1],"-f")){
+                       pos=node_recursive_match( argv[2],pos);
+                       if (pos == NULL) {
+                               docmdf (pos, "status 'reached bottom of tree and \\'%s\\' not found'",
+                                               argv[2]);
+-                              return (int) data;
++                              return PTR_TO_UINT64(data);
+                       }
+               }
+-              return (int)pos;
++              return PTR_TO_UINT64(pos);
+       } 
+       cli_outfunf("usage: %s [-b|-f] <string>",argv[0]);
+-      return (int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_spell.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_spell.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_spell.c        Mon Nov 26 09:15:53 2018
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_spell.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/spell.c.orig   2003-03-09 17:29:01.000000000 +0000
++++ src/spell.c
+@@ -68,7 +68,7 @@ static void spell_node (Node *node)
+               ui_init ();
+ }
+ 
+-static int spell_cmd (int argc, char **argv, void *data)
++static uint64_t spell_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -85,7 +85,7 @@ static int spell_cmd (int argc, char **a
+       } else {
+               spell_node (pos);
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_statcmds.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_statcmds.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_statcmds.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,65 @@
+$NetBSD: patch-src_statcmds.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/statcmds.c.orig        2003-03-09 17:28:26.000000000 +0000
++++ src/statcmds.c
+@@ -25,7 +25,7 @@
+ 
+ #ifndef WIN32
+ 
+-static int mem_cmd (int argc, char **argv, void *data)
++static uint64_t mem_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -35,7 +35,7 @@ static int mem_cmd (int argc, char **arg
+ 
+               file = fopen ("/proc/self/stat", "r");
+               if (!file)
+-                      return (int) pos;
++                      return PTR_TO_UINT64(pos);
+ 
+               fscanf (file,
+                               "%*i %*s %*s %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %*i %i",
+@@ -53,7 +53,7 @@ static int mem_cmd (int argc, char **arg
+ 
+               file = fopen ("/proc/meminfo", "r");
+               if (!file)
+-                      return (int) pos;
++                      return PTR_TO_UINT64(pos);
+ 
+               fscanf (file, "%*s %*s %*s %*s %*s %*s %*s %*i %*i %i %i %i",
+                               &free, &buffers, &cached);
+@@ -64,7 +64,7 @@ static int mem_cmd (int argc, char **arg
+                                        (float) ((free + buffers + cached) / 1024.0 / 1024.0));
+       }
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ #endif
+ /*
+@@ -97,7 +97,7 @@ static int count_words (unsigned char *s
+       return words;
+ }
+ 
+-static int stats_cmd (int argc, char **argv, void *data)
++static uint64_t stats_cmd (int argc, char **argv, void *data)
+ {
+       int words = 0, leaves = 0, nodes = 0;
+       Node *pos = (Node *) data;
+@@ -114,7 +114,7 @@ static int stats_cmd (int argc, char **a
+ 
+       cli_outfunf ("nodes:%i, leaves:%i words:%i", nodes, leaves, words);
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_state.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_state.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_state.c        Mon Nov 26 09:15:53 2018
@@ -0,0 +1,42 @@
+$NetBSD: patch-src_state.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/state.c.orig   2003-03-09 17:28:07.000000000 +0000
++++ src/state.c
+@@ -29,7 +29,7 @@
+ 
+ static Node *savedtree = NULL;
+ 
+-static int save_state_cmd (int argc, char **argv, void *data)
++static uint64_t save_state_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       Node *i;
+@@ -58,10 +58,10 @@ static int save_state_cmd (int argc, cha
+                       savedtree = node_recurse (savedtree);
+       }
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int restore_state_cmd (int argc, char **argv, void *data)
++static uint64_t restore_state_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -74,7 +74,7 @@ static int restore_state_cmd (int argc, 
+               tree_free (savedtree);
+               savedtree = NULL;
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_tree__misc.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_tree__misc.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_tree__misc.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,164 @@
+$NetBSD: patch-src_tree__misc.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/tree_misc.c.orig       2003-03-14 00:31:02.000000000 +0000
++++ src/tree_misc.c
+@@ -27,12 +27,12 @@
+ #include "ui_cli.h"
+ #include "evilloop.h"
+ 
+-static int cmd_movenode (int argc, char **argv, void *data)
++static uint64_t  cmd_movenode (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       if(argc<2){
+               cli_outfunf("usage: %s <left|right|up|down>",argv[0]);
+-              return (int)pos;
++              return PTR_TO_UINT64(pos);
+       }
+       if (!strcmp (argv[1], "left")) {
+               if (node_left (pos)) {
+@@ -64,7 +64,7 @@ static int cmd_movenode (int argc, char 
+                       node_swap (pos, node_down (pos));
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -75,12 +75,12 @@
+       cli_add_command ("movenode", cmd_movenode, "<up|left|right|down>");
+ }
+ 
+-static int cmd_go(int argc, char **argv, void *data){
++static uint64_t cmd_go(int argc, char **argv, void *data){
+       Node *pos=(Node *)data;
+       
+       if(argc!=2){
+               cli_outfunf("usage: %s <up|down|left|right|recurse|backrecurse|root|top|bottom>");
+-              return (int)pos;
++              return PTR_TO_UINT64(pos);
+       }
+       
+       if(!strcmp(argv[1],"up")){
+@@ -110,7 +110,7 @@
+       }
+ 
+       
+-      return (int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -126,7 +126,7 @@ void init_go ()
+ #include "ctype.h"
+ #include "ui_binding.h"
+ 
+-static int cmd_outdent (int argc, char **argv, void *data)
++static uint64_t cmd_outdent (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -135,7 +135,7 @@
+                       inputbuf[strlen (inputbuf) + 1] = 0;
+                       inputbuf[strlen (inputbuf)] = lastbinding->key;
+               }               
+-              return (int)pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       if (node_left (pos)) {
+@@ -166,12 +166,12 @@ static int cmd_outdent (int argc, char *
+                       target_node->right = NULL;
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*    FIXME: no real need for a temporary node */
+ 
+-static int cmd_indent (int argc, char **argv, void *data)
++static uint64_t cmd_indent (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -180,7 +180,7 @@
+                       inputbuf[strlen (inputbuf) + 1] = 0;
+                       inputbuf[strlen (inputbuf)] = lastbinding->key;
+               }               
+-              return (int)pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       if (node_up (pos)) {
+@@ -205,7 +205,7 @@ static int cmd_indent (int argc, char **
+               }
+               node_remove (node_down (pos));
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -221,7 +221,7 @@ void init_outdent_indent ()
+                                 "moves the active item and the following siblings one level to the right");
+ }
+ 
+-static int remove_cmd (int argc, char **argv, void *data)
++static uint64_t remove_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -242,7 +242,7 @@ static int remove_cmd (int argc, char **
+               docmd (pos, "save_state");
+               pos = node_remove (pos);
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -256,7 +256,7 @@ void init_remove ()
+ }
+ 
+ 
+-static int commandline_cmd (int argc, char **argv, void *data)
++static uint64_t commandline_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -271,7 +271,7 @@ static int commandline_cmd (int argc, ch
+               if (commandline[0])
+                       pos = docmd (pos, commandline);
+       } while (commandline[0] && strcmp(commandline,"q") && strcmp(commandline,"quit"));
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -284,7 +284,7 @@ void init_commandline ()
+                                 "Invokes the interactive commandline in curses mode.");
+ }
+ 
+-static int insert_below_cmd (int argc, char **argv, void *data)
++static uint64_t insert_below_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -299,7 +299,7 @@ static int insert_below_cmd (int argc, c
+                       }
+       }
+       inputbuf[0] = 0;
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_tree__sort.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_tree__sort.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_tree__sort.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_tree__sort.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/tree_sort.c.orig       2003-03-14 00:12:44.000000000 +0000
++++ src/tree_sort.c
+@@ -141,7 +141,7 @@ static int cmp_descending(Node *a,Node *
+       return cmp_todo(b,a);
+ }
+ 
+-static int sort_cmd (int argc, char **argv, void *data)
++static uint64_t sort_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       int (*cmp) (Node *a, Node *b)=cmp_todo;
+@@ -155,7 +155,7 @@ static int sort_cmd (int argc, char **ar
+       node_mergesort (node_top (pos), nodes_down (node_top (pos)) + 1, cmp);
+       if (node_left (pos))
+               node_left (pos)->right = node_top (pos);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_tree__todo.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_tree__todo.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_tree__todo.c   Mon Nov 26 09:15:53 2018
@@ -0,0 +1,48 @@
+$NetBSD: patch-src_tree__todo.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/tree_todo.c.orig       2003-03-09 17:23:18.000000000 +0000
++++ src/tree_todo.c
+@@ -260,7 +260,7 @@ int calc_percentage_size (Node *node, in
+ 
+ #include "cli.h"
+ 
+-static int toggle_todo_cmd (int argc, char **argv, void *data)
++static uint64_t toggle_todo_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -271,15 +271,15 @@ static int toggle_todo_cmd (int argc, ch
+               node_unset(pos,"type");
+       }
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int toggle_done_cmd (int argc, char **argv, void *data)
++static uint64_t toggle_done_cmd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+       if (strcmp(fixnullstring(node_get(pos,"type")),"todo")) {       /* bail out if not todo info set */
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       if (!strcmp(fixnullstring(node_get(pos,"done")),"yes")) {       /* bail out if not todo info set */
+@@ -288,7 +288,7 @@ static int toggle_done_cmd (int argc, ch
+               node_set(pos,"done","yes");
+       }
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_ui__binding.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__binding.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__binding.c  Mon Nov 26 09:15:53 2018
@@ -0,0 +1,68 @@
+$NetBSD: patch-src_ui__binding.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_binding.c.orig      2003-03-13 20:53:14.000000000 +0000
++++ src/ui_binding.c
+@@ -250,14 +250,14 @@ static int string2keycode (char *str)
+ 
+ int ui_current_scope = 0;
+ 
+-static int ui_context_cmd (int argc, char **argv, void *data)
++static uint64_t ui_context_cmd (int argc, char **argv, void *data)
+ {
+       if(argc<2){
+               cli_outfunf("usage: %s <contextname>",argv[0]);
+-              return(int)data;
++              return PTR_TO_UINT64(data);
+       }
+       ui_current_scope = string2scope (argv[1]);
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ static void makebinding (int scope_no, int key, int action, char *action_name,
+@@ -272,7 +272,7 @@ static void makebinding (int scope_no, i
+       ui_binding_count[scope_no]++;
+ }
+ 
+-static int ui_bind_cmd (int argc, char **argv, void *data)
++static uint64_t ui_bind_cmd (int argc, char **argv, void *data)
+ {
+ /*    char context[40];*/
+       char *key;
+@@ -280,7 +280,7 @@ static int ui_bind_cmd (int argc, char *
+ 
+       if(argc<3){
+               cli_outfunf("error in bindings %s %s %s %s\n",argv[0],argv[1],argv[2],argv[3]);
+-              return (int)data;
++              return PTR_TO_UINT64(data);
+       }
+       key=argv[1];
+       action=argv[2];
+@@ -293,7 +293,7 @@ static int ui_bind_cmd (int argc, char *
+                                        ui_action_command, "command", action);
+       }
+ 
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ 
+@@ -395,9 +395,9 @@ char *tidy_keyname (const char *keyname)
+ !init_ui_binding();
+ */
+ 
+-static int dummy_cmd (int argc, char **argv, void *data)
++static uint64_t dummy_cmd (int argc, char **argv, void *data)
+ {
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ void init_ui_binding ()
Index: pkgsrc/editors/hnb/patches/patch-src_ui__cli.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__cli.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__cli.c      Mon Nov 26 09:15:53 2018
@@ -0,0 +1,153 @@
+$NetBSD: patch-src_ui__cli.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+In NetBSD-1.6.2, the <stdlib.h> header uses the word bufsize as a
+parameter name in a function prototype. The "file.h" header #defines
+bufsize to 4096, which leads to a parser error.
+
+Above fix made by rilling on 2005/03/11
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+3. Replaced (32bit) int references with proper Node * references.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_cli.c.orig  2003-03-14 04:55:14.000000000 +0000
++++ src/ui_cli.c
+@@ -22,14 +22,15 @@
+ #include <config.h>
+ #endif
+ 
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++
+ #include "tree.h"
+ #include "file.h"
+ #include "path.h"
+ #include "prefs.h"
+ #include "cli.h"
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+ #include "ui_cli.h"
+ 
+ 
+@@ -49,7 +50,7 @@ static char *path_strip (char *path)
+       return path;
+ }
+ 
+-static int add (int argc,char **argv, void *data)
++static uint64_t add (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       Node *tnode;
+@@ -65,10 +66,10 @@ static int add (int argc,char **argv, vo
+ 
+       tnode = node_insert_down (node_bottom (pos));
+       node_set (tnode, TEXT, argv[1]);
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int addc (int argc,char **argv, void *data)
++static uint64_t addc (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       Node *tnode;
+@@ -81,7 +82,7 @@ static int addc (int argc,char **argv, v
+       tnode = node_exact_match (argv[1], pos);
+       if (!tnode) {
+               cli_outfun ("specified parent not found");
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       if (node_right (tnode)) {
+@@ -95,30 +95,30 @@
+       else
+               node_set (tnode, TEXT, argv[2]);
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int pwd (int argc,char **argv, void *data)
++static uint64_t pwd (int argc,char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+       cli_outfun (path_strip (node2path (pos)));
+       cli_outfun ("\n");
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+-static int cd (int argc, char **argv, void *data)
++static uint64_t cd (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+       Node *tnode = pos;
+ 
+       if(argc==1){
+-              return (int)node_root(pos);
++              return PTR_TO_UINT64(node_root(pos));
+       }
+ 
+       if (!strcmp (argv[1], "..")){
+               if (node_left (tnode) != 0)
+-                      return (int) (node_left (tnode));
++                      return PTR_TO_UINT64((node_left (tnode)));
+       }
+               
+ 
+@@ -128,11 +129,11 @@ static int cd (int argc, char **argv, vo
+       }
+       if (!tnode) {
+               cli_outfun ("no such node\n");
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+-      return (int) tnode;
++      return PTR_TO_UINT64(tnode);
+ 
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ #include <ctype.h>
+@@ -151,7 +152,7 @@ static void pre_command (char *commandli
+       }
+ }
+ 
+-static int ls (int argc, char **argv, void *data)
++static uint64_t ls (int argc, char **argv, void *data)
+ {
+       Node *pos = (Node *) data;
+ 
+@@ -188,7 +189,7 @@ static int ls (int argc, char **argv, vo
+                       tnode = node_down (tnode);
+               }
+       }
+-      return (int) pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
+@@ -216,11 +216,12 @@
+ 
+ Node *docmd (Node *pos, const char *commandline)
+ {
+-      int ret;
++      Node * ret;
+       char *cmdline = strdup (commandline);
+ 
+-      ret = cli_docmd (cmdline, pos);
++      ret = (Node *)cli_docmd (cmdline, pos);
+       free (cmdline);
++
+       return (Node *) ret;
+ }
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_ui__draw.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__draw.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__draw.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_ui__draw.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_draw.c.orig 2003-03-10 00:44:29.000000000 +0000
++++ src/ui_draw.c
+@@ -525,7 +525,7 @@ static struct {
+ 
+ /* FIXME: make backup?,.. and make sure data is present,.., make possiblity to write back? */
+ 
+-int display_format_cmd (int argc, char **argv, void *data)
++uint64_t display_format_cmd (int argc, char **argv, void *data)
+ {
+       char *p = argv[1];
+       int width;
+@@ -533,7 +533,7 @@ int display_format_cmd (int argc, char *
+       int col_no = 0;
+ 
+       if(argc<2){
+-              return (int)data;
++              return PTR_TO_UINT64(data);
+       }
+ 
+       do {
+@@ -618,7 +618,7 @@ int display_format_cmd (int argc, char *
+ 
+       col_def[col_no].type = col_terminate;
+ 
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_ui__edit.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__edit.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__edit.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_ui__edit.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_edit.c.orig 2003-03-09 23:28:30.000000000 +0000
++++ src/ui_edit.c
+@@ -28,7 +28,7 @@
+ #include "evilloop.h"
+ #include <stdlib.h>
+ 
+-static int ui_edit_cmd (int argc, char **argv, void *data)
++static uint64_t ui_edit_cmd (int argc, char **argv, void *data)
+ {
+       Tbinding *c;
+       int stop = 0;
+@@ -61,7 +61,7 @@ static int ui_edit_cmd (int argc, char *
+                       }
+               }
+               ui_current_scope = tempscope;
+-              return (int) pos;
++              return PTR_TO_UINT64(pos);
+       }
+ 
+       node_backup = node_duplicate (pos);
+@@ -208,7 +208,7 @@ static int ui_edit_cmd (int argc, char *
+       }
+       node_free (node_backup);
+       ui_current_scope = tempscope;
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ int ui_getstr_loc (char *input, int x, int y, int maxlen)
Index: pkgsrc/editors/hnb/patches/patch-src_ui__menu.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__menu.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__menu.c     Mon Nov 26 09:15:53 2018
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_ui__menu.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_menu.c.orig 2003-03-14 03:54:52.000000000 +0000
++++ src/ui_menu.c
+@@ -109,10 +109,10 @@ static Node *menu_do(Node *pos){
+       return pos;
+ }
+ 
+-static int cmd_menu(int argc,char **argv,void *data){
++static uint64_t cmd_menu(int argc,char **argv,void *data){
+       Node *pos=(Node *)data;
+       if(argc==1){ /* draw menu */
+-              return (int)menu_do(pos);
++              return PTR_TO_UINT64(menu_do(pos));
+       } else if(argc==4){
+               char *submenu=argv[1];
+               char *label=argv[2];
+@@ -142,7 +142,7 @@
+               if(menu[col][row].width>menu[col][0].width)
+                       menu[col][0].width=menu[col][row].width;        
+       }
+-      return(int)pos;
++      return PTR_TO_UINT64(pos);
+ }
+ 
+ /*
Index: pkgsrc/editors/hnb/patches/patch-src_ui__overlay.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__overlay.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__overlay.c  Mon Nov 26 09:15:53 2018
@@ -0,0 +1,43 @@
+$NetBSD: patch-src_ui__overlay.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_overlay.c.orig      2003-03-14 00:35:14.000000000 +0000
++++ src/ui_overlay.c
+@@ -44,11 +44,11 @@
+ 
+ static char *ui_helptext[MAX_SCOPES] = { 0 };
+ 
+-static int ui_helptext_cmd (int argc, char **argv, void *data)
++static uint64_t ui_helptext_cmd (int argc, char **argv, void *data)
+ {
+       if(argc>1)
+               ui_helptext[ui_current_scope] = strdup (argv[1]);
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ #define MAX_STATUS_LINES 100
+@@ -129,7 +129,7 @@ void set_status (char *message)
+ }
+ 
+ 
+-static int ui_status_cmd (int argc, char **argv, void *data)
++static uint64_t ui_status_cmd (int argc, char **argv, void *data)
+ {
+       if(argc==2 && (!strcmp(argv[1],"-c") || !strcmp(argv[1],"--clear"))){
+               status_ttl=0;
+@@ -138,7 +138,7 @@ static int ui_status_cmd (int argc, char
+               if(!ui_inited)
+               cli_outfun(argv[1]);
+       }
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ 
Index: pkgsrc/editors/hnb/patches/patch-src_ui__style.c
diff -u /dev/null pkgsrc/editors/hnb/patches/patch-src_ui__style.c:1.1
--- /dev/null   Mon Nov 26 09:15:53 2018
+++ pkgsrc/editors/hnb/patches/patch-src_ui__style.c    Mon Nov 26 09:15:53 2018
@@ -0,0 +1,47 @@
+$NetBSD: patch-src_ui__style.c,v 1.1 2018/11/26 09:15:53 fox Exp $
+
+1. Replaced int with uint64_t to avoid truncating pointer to (32bit)
+   int by using a wider type.
+2. Replaced pointer to int type cast with a macro PTR_TO_UINT64(x) to
+   help convert the pointer to uint64_t.
+
+This prevents the segfault on startup in amd64 systems.
+
+--- src/ui_style.c.orig        2003-03-09 18:25:19.000000000 +0000
++++ src/ui_style.c
+@@ -116,7 +116,7 @@ void ui_style_restore_color ()
+       }
+ }
+ 
+-static int ui_style_cmd (int argc, char **argv, void *data)
++static uint64_t ui_style_cmd (int argc, char **argv, void *data)
+ {
+       char *item;
+       char *colors;
+@@ -124,7 +124,7 @@ static int ui_style_cmd (int argc, char 
+ 
+       if(argc!=4){
+               cli_outfunf("usage: %i <item> <fg/bg> <atts>");
+-              return (int)data;
++              return PTR_TO_UINT64(data);
+       }
+ 
+       item=argv[1];
+@@ -137,7 +137,7 @@ static int ui_style_cmd (int argc, char 
+ 
+               if (style_no == -1) {
+                       printf ("unknown style 'style [%s] %s %s'\n", item, colors, atts);
+-                      return (int) data;
++                      return PTR_TO_UINT64(data);
+               }
+               color2 = strchr (colors, '/');
+               color2[0] = '\0';
+@@ -166,7 +166,7 @@ static int ui_style_cmd (int argc, char 
+                       bkgdset (' ' + COLOR_PAIR (ui_style_background));
+               }
+       }
+-      return (int) data;
++      return PTR_TO_UINT64(data);
+ }
+ 
+ /*



Home | Main Index | Thread Index | Old Index