The GetControlChars() function doesn't work on OpenBSD, this fixes
it. Diff sent upstream to author.
- todd
Index: devel/p5-Term-ReadKey/patches/patch-genchars_pl
===================================================================
RCS file: devel/p5-Term-ReadKey/patches/patch-genchars_pl
diff -N devel/p5-Term-ReadKey/patches/patch-genchars_pl
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ devel/p5-Term-ReadKey/patches/patch-genchars_pl 30 Oct 2005 16:11:29
-0000
@@ -0,0 +1,21 @@
+$OpenBSD$
+--- genchars.pl.orig Tue Jan 11 16:15:17 2005
++++ genchars.pl Sun Oct 30 11:02:36 2005
+@@ -174,7 +174,7 @@ XS(XS_Term__ReadKey_GetControlChars)
+ EXTEND(sp,MAXCC*2); ".join('',map("
+ #if defined($values[$_]) && ($values[$_] < LEGALMAXCC) "."
+ PUSHs(sv_2mortal(newSVpv(cc_names[$_],strlen(cc_names[$_])))); /*
$possible{$values[$_]} */
+-PUSHs(sv_2mortal(newSVpv((char*)&s.c_cc[$values[$_]],1))); "."
++PUSHs(sv_2mortal(newSViv((IV)s.c_cc[$values[$_]]))); "."
+ #endif " ,0..$#values))."
+
+ }
+@@ -394,7 +394,7 @@ XS(XS_Term__ReadKey_GetControlChars)
+ int i;
+ EXTEND(sp,MAXCC*2); ".join('',map("
+ PUSHs(sv_2mortal(newSVpv(cc_names[$_],strlen(cc_names[$_])))); /* $values[$_]
*/
+-PUSHs(sv_2mortal(newSVpv(&s.$billy{$values[$_]},1)));
",0..$#values))."
++PUSHs(sv_2mortal(newSViv((IV)s.$billy{$values[$_]})));
",0..$#values))."
+
+ }
+ PUTBACK;