[kde-solaris] Patches for kde-3.1-beta2 on Solaris 2.8/Forte C++ 6.x

Michael J. Bond kde-solaris@mail.kde.org
Sat Oct 12 17:22:05 2002


--=-GOGR7VIFKUkKNrmxqGtq
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

I've attached changes, notes, and changelogs from my attempts to get
kde-3.1-beta2 to compile on Solaris using the "native" Forte (previously
SparcWorks) C++ 6.x compiler.

At this point I've only finished kdelibs and kdebase, but everything
seems to be working fine.



--=-GOGR7VIFKUkKNrmxqGtq
Content-Disposition: attachment; filename=kdebase-3.0.8-changelog.txt
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=kdebase-3.0.8-changelog.txt; charset=UTF-8

These changes are based on kdebase-3.0.8 from kde-3.1-beta2.

As a note to the adventurous out there that want to try to compile KDE as
64 bit sparc as I have done: It is not currently possible to compile kdm
64 bit with the base Solaris installation as Sun doesn't provide 64 bit
versions of Xdmcp and Xau. This means you will have to compile kdm separatel=
y
as a 32 bit app. Everything else seems to work fine as 64 bit.

admin/libtool.m4.in:
    * Don't ever force undef sym checking when building libs. Forcing checki=
ng
      for undefined symbols causes problems as Sun C++ leaves out Cstd and
      Crun, for very good reasons, when building shared libs.
    * The '-Qoption ld ' is not necessary with Sun C++ as CC will
      automatically pass all -z options to ld. Using '-Qoption ld' has the=20
      adverse effect of causing those flags to be passed out of order to
      ld. What was happening is ld would incorrectly get:

      -z allextract -z defaultextract <lib>
    * There is still a problem with libtool in that it adds the convenience
      archives twice when linking shared libraries such as libkdecore.so, on=
ce
      from the whole_archive_flag_spec, once from deplibs. This causes multi=
ply
      defined symbols which by default causes the linker to fail. I've
      temporarily gotten around this by adding the -z muldefs to shared libr=
ary
      linking when using Sun C++.
libkonq/konq_popupmenu.cc:
    * Sun C++ for some reason won't implicitly use the const char *() operat=
or.
kcontrol/info/memory_solaris.cpp:
    * Sun C++ doesn't recognize the #warning preprocessor macro
kcontrol/kfontinst/kfontinst/FontmapCreator.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kcontrol/kfontinst/kfontinst/Ttf.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kcontrol/kfontinst/kfontinst/FontEngine.cpp:
    * Sun C++ declares strstr as returning const char *.
kcontrol/kio/kproxydlg.cpp:
    * Sun C++ doesn't allow default values for params to be specified both
      in the declaration and definition of a method.
kdesu/kdesud/kdesud.cpp:
    * Sun C++ doesn't allow casting from pointer to 32 bit scalar when
      compiling for 64 bit target.
kdialog/kdialog.cpp:
    * Sun C++ for some reason won't implicitly use the const char *() operat=
or.
    * Sun C++ doesn't provide stream.h
    * Sun C++ needs std:: in front of cout and endl.
kdm/chooser/chooser.cpp:
    * Solaris doesn't have setenv, changed to more portable putenv.
khelpcenter/navigator.cpp:
    * Sun C++ doesn't allow casting from pointer to 32 bit scalar when
      compiling for 64 bit target.
kicker/applets/clock/clock.cpp:
    * Sun C++ needs other headers to include time.h, appears to no longer be
      needed as no time functions are directly called so I removed it entire=
ly.
kicker/share/menuinfo.cpp:
    * Sun C++ for some reason won't implicitly use the const char *() operat=
or.
kioslave/nfs/mount_xdr.c:
    * long is not 32 bits for Sun C++ 64 bit builds.
    * Sun C++ doesn't define IXDR_GET_LONG and IXDR_PUT_LONG for 64 bit
      builds, use the INT32 variants instead.
kioslave/nfs/nfs_prot_xdr.c:
    * long is not 32 bits for Sun C++ 64 bit builds.
    * Sun C++ doesn't define IXDR_GET_U_LONG and IXDR_PUT_U_LONG for 64 bit
      builds, use the U_INT32 variants instead.
konsole/konsole/TEWidget.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
konsole/konsole/keytrans.cpp:
    * Sun C++ doesn't allow casting from pointer to 32 bit scalar when
      compiling for 64 bit target.
konsole/konsole/konsole.cpp:
    * Sun C++ doesn't consider a const int to be same as int, activateSessio=
n
      was declared as taking int, implementation took const int.
konsole/konsole/konsole_grantpty.c:
    * To my knowledge there is no direct equivalent to revoke(), for now it'=
s
      just ifdef'd on __sun.
kpager/main.cpp:
    * Sun C++ requires non-void methods to return a value.
ksysguard/ksysguardd/Solaris/Makefile.am:
    * Sun C++ doesn't accept -Wall

--=-GOGR7VIFKUkKNrmxqGtq
Content-Disposition: attachment; filename=kdebase-3.0.8.diffs
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=kdebase-3.0.8.diffs; charset=UTF-8

--- kdebase-3.0.8/kdm/chooser/chooser.cpp.orig=092002-10-11 10:27:09.3260750=
00 -0400
+++ kdebase-3.0.8/kdm/chooser/chooser.cpp=092002-10-11 10:33:12.999673000 -0=
400
@@ -66,6 +66,7 @@
 };
=20
 extern char *savhome;
+static char homeenv[40];
=20
 int main(int argc, char **argv)
 {
@@ -79,7 +80,8 @@
     }
     Die( EX_UNMANAGE_DPY, "Cannot create $HOME\n" );
   okay:
-    if (setenv( "HOME", qtrc, 1 ))
+    sprintf( homeenv, "HOME=3D%s", qtrc );
+    if (putenv( homeenv ))
 =09Die( EX_UNMANAGE_DPY, "Cannot set $HOME\n" );
     if (!(savhome =3D strdup (qtrc)))
 =09Die( EX_UNMANAGE_DPY, "Cannot save $HOME\n" );
@@ -89,7 +91,7 @@
     KCmdLineArgs::init(argc, argv, "chooser", description, version);
     KCmdLineArgs::addCmdLineOptions(options);
=20
-    setenv( "KDE_DEBUG", "1", 1 );=09// prevent KCrash installation
+    putenv( "KDE_DEBUG=3D1" );=09=09// prevent KCrash installation
     MyApp app;
=20
     CXdmcp *cxdmcp =3D new CXdmcp();
--- kdebase-3.0.8/ksysguard/ksysguardd/Solaris/Makefile.am.orig=092002-10-10=
 18:57:31.155071000 -0400
+++ kdebase-3.0.8/ksysguard/ksysguardd/Solaris/Makefile.am=092002-10-10 18:5=
6:19.494318000 -0400
@@ -1,7 +1,9 @@
 #
 #  $Id: Makefile.am,v 1.8 2002/05/23 20:04:50 coolo Exp $
 #
-AM_CFLAGS =3D -Wall=20
+# Not all compilers take -Wall
+#
+#AM_CFLAGS =3D -Wall=20
=20
 INCLUDES =3D -I$(srcdir)/../../CContLib -I$(srcdir)/..
=20
--- kdebase-3.0.8/kdialog/kdialog.cpp.orig=092002-10-10 18:34:28.260529000 -=
0400
+++ kdebase-3.0.8/kdialog/kdialog.cpp=092002-10-10 18:44:26.457445000 -0400
@@ -20,7 +20,9 @@
=20
 #include <fcntl.h>
 #include <unistd.h>
+#ifndef __SUNPRO_CC
 #include <stream.h>
+#endif
 #include <stdlib.h>
=20
 #include <qlist.h>
@@ -86,7 +88,7 @@
     if (args->isSet("title"))
     {
       title =3D QString::fromLocal8Bit(args->getOption("title"));
-      cout << title.local8Bit().data() << endl;
+      std::cout << (const char *) title.local8Bit() << std::endl;
     }
=20
     // --separate-output
@@ -153,7 +155,7 @@
           init =3D args->arg(0);
=20
       bool retcode =3D Widgets::inputBox(0, title, QString::fromLocal8Bit(a=
rgs->getOption("inputbox")), init, result);
-      cout << result.local8Bit().data() << endl;
+      std::cout << (const char *) result.local8Bit() << std::endl;
       return retcode ? 0 : 1;
     }
=20
@@ -163,7 +165,7 @@
     {
       QCString result;
       bool retcode =3D Widgets::passwordBox(0, title, QString::fromLocal8Bi=
t(args->getOption("password")), result);
-      cout << result.data() << endl;
+      std::cout << (const char *) result << std::endl;
       return retcode ? 0 : 1;
     }
=20
@@ -191,7 +193,7 @@
             QString text =3D QString::fromLocal8Bit(args->getOption("menu")=
);
             QString result;
             bool retcode =3D Widgets::listBox(0, title, text, list, result)=
;
-            cout << result.local8Bit().data() << endl;
+=09    std::cout << (const char *) result.local8Bit() << std::endl;
             return retcode ? 0 : 1;
         }
         return -1;
@@ -212,7 +214,7 @@
=20
             unsigned int i;
             for (i=3D0; i<result.count(); i++)
-                cout << result[i].local8Bit().data() << endl;;
+                std::cout << (const char *) result[i].local8Bit() << std::e=
ndl;;
             exit( retcode ? 0 : 1 );
         }
         return -1;
@@ -229,7 +231,7 @@
             QString text =3D QString::fromLocal8Bit(args->getOption("radiol=
ist"));
             QString result;
             bool retcode =3D Widgets::radioBox(0, title, text, list, result=
);
-            cout << result.local8Bit().data() << endl;
+=09    std::cout << (const char *) result.local8Bit() << std::endl;
             exit( retcode ? 0 : 1 );
         }
         return -1;
--- kdebase-3.0.8/admin/libtool.m4.in.orig=092002-09-15 17:08:25.000000000 -=
0400
+++ kdebase-3.0.8/admin/libtool.m4.in=092002-10-10 12:14:14.252956000 -0400
@@ -2922,23 +2922,22 @@
     case $cc_basename in
       CC)
 =09# Sun C++ 4.2, 5.x and Centerline C++
-=09_LT_AC_TAGVAR(no_undefined_flag, $1)=3D' -zdefs'
-=09_LT_AC_TAGVAR(archive_cmds, $1)=3D'$CC -G${allow_undefined_flag} -nolib=20=
-h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compil=
er_flags'
+=09_LT_AC_TAGVAR(no_undefined_flag, $1)=3D''
+=09_LT_AC_TAGVAR(archive_cmds, $1)=3D'$CC -G -z muldefs${allow_undefined_fl=
ag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_obje=
cts $compiler_flags'
 =09_LT_AC_TAGVAR(archive_expsym_cmds, $1)=3D'$echo "{ global:" > $lib.exp~c=
at $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };"=
 >> $lib.exp~
-=09$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o=20=
$lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm=20=
$lib.exp'
+=09$CC -G -z muldefs${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h=
$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler=
_flags~$rm $lib.exp'
=20
 =09_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=3D'-R$libdir'
 =09_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=3Dno
-=09case $host_os in
-=09  solaris2.[0-5] | solaris2.[0-5].*) ;;
-=09  *)
-=09    # The C++ compiler is used as linker so we must use $wl
-=09    # flag to pass the commands to the underlying system
-=09    # linker.
-=09    # Supported since Solaris 2.6 (maybe 2.5.1?)
-=09    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=3D'${wl}-z ${wl}allextrac=
t$convenience ${wl}-z ${wl}defaultextract'
-=09    ;;
-=09esac
+
+=09# The '-Qoption ld ' is not necessary with Sun C++ as CC will
+=09# automatically pass all -z options to ld. Using '-Qoption ld' has the
+=09# adverse effect of causing those flags to be passed out of order to
+=09# ld. What was happening is ld would incorrectly get:
+=09#
+=09# -z allextract -z defaultextract <lib>
+=09_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=3D'-z allextract$convenience=20=
-z defaultextract'
+
 =09_LT_AC_TAGVAR(link_all_deplibs, $1)=3Dyes
=20
 =09# Commands to make compiler produce verbose output that lists
--- kdebase-3.0.8/kdesu/kdesud/kdesud.cpp.orig=092002-10-10 13:49:59.6119140=
00 -0400
+++ kdebase-3.0.8/kdesu/kdesud/kdesud.cpp=092002-10-10 13:50:21.282133000 -0=
400
@@ -78,7 +78,7 @@
 #include <X11/Xlib.h>
=20
 #ifndef SUN_LEN
-#define SUN_LEN(ptr) ((ksize_t) (((struct sockaddr_un *) 0)->sun_path) \
+#define SUN_LEN(ptr) ((ksize_t) ((unsigned long)((struct sockaddr_un *) 0)-=
>sun_path) \
                      + strlen ((ptr)->sun_path))  =20
 #endif
=20
--- kdebase-3.0.8/konsole/konsole/TEWidget.h.orig=092002-10-10 17:37:48.2352=
24000 -0400
+++ kdebase-3.0.8/konsole/konsole/TEWidget.h=092002-10-10 17:38:28.555628000=
 -0400
@@ -154,6 +154,8 @@
     void doDrag();
     enum DragState { diNone, diPending, diDragging };
=20
+    struct _dragInfo;
+    friend struct _dragInfo;
     struct _dragInfo {
       DragState       state;
       QPoint          start;
--- kdebase-3.0.8/konsole/konsole/keytrans.cpp.orig=092002-10-10 17:48:55.05=
1868000 -0400
+++ kdebase-3.0.8/konsole/konsole/keytrans.cpp=092002-10-10 17:55:20.7857920=
00 -0400
@@ -373,7 +373,7 @@
 //printf("line %3d: ",startofsym);
     getSymbol(); assertSyntax(sym =3D=3D SYMName, "Name expected")
     assertSyntax(syms->keysyms[res], "Unknown key name")
-    int key =3D (int)syms->keysyms[res]-1;
+    unsigned long key =3D (unsigned long)syms->keysyms[res]-1;
 //printf(" key %s (%04x)",res.latin1(),(int)syms->keysyms[res]-1);
     getSymbol(); // + - :
     int mode =3D 0;
@@ -385,7 +385,7 @@
       // mode name
       assertSyntax(sym =3D=3D SYMName, "Name expected")
       assertSyntax(syms->modsyms[res], "Unknown mode name")
-      int bits =3D (int)syms->modsyms[res]-1;
+      unsigned long bits =3D (unsigned long)syms->modsyms[res]-1;
       if (mask & (1 << bits))
       {
         fprintf(stderr,"%s(%d,%d): mode name used multible times.\n",path.a=
scii(),slinno,scolno);
@@ -402,11 +402,11 @@
     getSymbol();
     // string or command
     assertSyntax(sym =3D=3D SYMName || sym =3D=3D SYMString,"Command or str=
ing expected")
-    int cmd =3D 0;
+    unsigned long cmd =3D 0;
     if (sym =3D=3D SYMName)
     {
       assertSyntax(syms->oprsyms[res], "Unknown operator name")
-      cmd =3D (int)syms->oprsyms[res]-1;
+      cmd =3D (unsigned long)syms->oprsyms[res]-1;
 //printf(": do %s(%d)",res.latin1(),(int)syms->oprsyms[res]-1);
     }
     if (sym =3D=3D SYMString)
--- kdebase-3.0.8/konsole/konsole/konsole.cpp.orig=092002-10-10 18:09:23.704=
792000 -0400
+++ kdebase-3.0.8/konsole/konsole/konsole.cpp=092002-10-10 18:09:39.53494400=
0 -0400
@@ -1700,7 +1700,7 @@
   m_sessionList->popup(mapToGlobal(QPoint((width()/2)-(m_sessionList->width=
()/2),(height()/2)-(m_sessionList->height()/2))));
 }
=20
-void Konsole::activateSession(const int position)
+void Konsole::activateSession(int position)
 {
   if (position<=3D0 || position>(int)sessions.count())
     return;
--- kdebase-3.0.8/konsole/konsole/konsole_grantpty.c.orig=092002-10-11 10:36=
:07.711392000 -0400
+++ kdebase-3.0.8/konsole/konsole/konsole_grantpty.c=092002-10-11 10:41:20.6=
85166000 -0400
@@ -175,11 +175,13 @@
     return 1; /* FAIL */
   }
=20
+#ifndef __sun
   if (revoke(tty) < 0)
   {
     fprintf(stderr,"%s: cannot revoke %s.\n",argv[0],tty); perror("Reason")=
;
     return 1; /* FAIL */
   }
+#endif
=20
=20
   return 0; /* OK */
--- kdebase-3.0.8/khelpcenter/navigator.cpp.orig=092002-10-10 14:00:48.22861=
0000 -0400
+++ kdebase-3.0.8/khelpcenter/navigator.cpp=092002-10-10 14:01:10.368820000=20=
-0400
@@ -763,7 +763,7 @@
           */
           connect(pMaker, SIGNAL(hierarchyCreated(uint, uint, const InfoNod=
e*)),
                   SLOT(slotInfoHierarchyCreated(uint, uint, const InfoNode*=
)));
-          pMaker->createHierarchy((uint) item, sTopic, sNode);
+          pMaker->createHierarchy((unsigned long) item, sTopic, sNode);
=20
           regfree(&reInfoURL);
         }
--- kdebase-3.0.8/libkonq/konq_popupmenu.cc.orig=092002-10-10 12:47:36.81516=
9000 -0400
+++ kdebase-3.0.8/libkonq/konq_popupmenu.cc=092002-10-10 12:47:38.925155000=20=
-0400
@@ -702,7 +702,7 @@
 =09for(; iterator !=3D end; ++iterator, ++pluginCount ){
 =09=09KonqPopupMenuPlugin *plugin =3D
 =09=09=09KParts::ComponentFactory::
-=09=09=09createInstanceFromLibrary<KonqPopupMenuPlugin>( (*iterator)->libra=
ry().local8Bit(),
+=09=09=09createInstanceFromLibrary<KonqPopupMenuPlugin>( (const char *) (*i=
terator)->library().local8Bit(),
 =09=09=09=09=09=09=09=09=09this,
 =09=09=09=09=09=09=09=09=09(*iterator)->name().latin1() );
 =09=09if ( !plugin )
--- kdebase-3.0.8/kioslave/nfs/mount_xdr.c.orig=092002-10-11 09:35:12.714559=
000 -0400
+++ kdebase-3.0.8/kioslave/nfs/mount_xdr.c=092002-10-11 09:40:25.967678000 -=
0400
@@ -46,7 +46,7 @@
 xdr_fhandle(XDR *xdrs, fhandle objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_opaque(xdrs, objp, FHSIZE)) {
 =09=09 return (FALSE);
@@ -58,7 +58,7 @@
 xdr_fhstatus(XDR *xdrs, fhstatus *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_u_int(xdrs, &objp->fhs_status)) {
 =09=09 return (FALSE);
@@ -79,7 +79,7 @@
 xdr_dirpath(XDR *xdrs, dirpath *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_string(xdrs, objp, MNTPATHLEN)) {
 =09=09 return (FALSE);
@@ -91,7 +91,7 @@
 xdr_name(XDR *xdrs, name *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_string(xdrs, objp, MNTNAMLEN)) {
 =09=09 return (FALSE);
@@ -103,7 +103,7 @@
 xdr_mountlist(XDR *xdrs, mountlist *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct mountbody), (xdrpro=
c_t)xdr_mountbody)) {
 =09=09 return (FALSE);
@@ -115,7 +115,7 @@
 xdr_mountbody(XDR *xdrs, mountbody *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_name(xdrs, &objp->ml_hostname)) {
 =09=09 return (FALSE);
@@ -133,7 +133,7 @@
 xdr_groups(XDR *xdrs, groups *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct groupnode), (xdrpro=
c_t)xdr_groupnode)) {
 =09=09 return (FALSE);
@@ -145,7 +145,7 @@
 xdr_groupnode(XDR *xdrs, groupnode *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_name(xdrs, &objp->gr_name)) {
 =09=09 return (FALSE);
@@ -160,7 +160,7 @@
 xdr_exports(XDR *xdrs, exports *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_pointer(xdrs, (char **)objp, sizeof(struct exportnode), (xdrpr=
oc_t)xdr_exportnode)) {
 =09=09 return (FALSE);
@@ -172,7 +172,7 @@
 xdr_exportnode(XDR *xdrs, exportnode *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_dirpath(xdrs, &objp->ex_dir)) {
 =09=09 return (FALSE);
@@ -190,7 +190,7 @@
 xdr_ppathcnf(XDR *xdrs, ppathcnf *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 int i=3Di;
=20
@@ -218,7 +218,7 @@
=20
 =09  }
 =09  else {
-=09=09 IXDR_PUT_LONG(buf,objp->pc_link_max);
+=09=09 IXDR_PUT_INT32(buf,objp->pc_link_max);
 =09=09 IXDR_PUT_SHORT(buf,objp->pc_max_canon);
 =09=09 IXDR_PUT_SHORT(buf,objp->pc_max_input);
 =09=09 IXDR_PUT_SHORT(buf,objp->pc_name_max);
@@ -272,7 +272,7 @@
=20
 =09  }
 =09  else {
-=09=09 objp->pc_link_max =3D IXDR_GET_LONG(buf);
+=09=09 objp->pc_link_max =3D IXDR_GET_INT32(buf);
 =09=09 objp->pc_max_canon =3D IXDR_GET_SHORT(buf);
 =09=09 objp->pc_max_input =3D IXDR_GET_SHORT(buf);
 =09=09 objp->pc_name_max =3D IXDR_GET_SHORT(buf);
--- kdebase-3.0.8/kioslave/nfs/nfs_prot_xdr.c.orig=092002-10-11 09:21:20.206=
622000 -0400
+++ kdebase-3.0.8/kioslave/nfs/nfs_prot_xdr.c=092002-10-11 09:34:14.83399300=
0 -0400
@@ -46,7 +46,7 @@
 xdr_nfsstat(XDR *xdrs, nfsstat *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_enum(xdrs, (enum_t *)objp)) {
 =09=09 return (FALSE);
@@ -58,7 +58,7 @@
 xdr_ftype(XDR *xdrs, ftype *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_enum(xdrs, (enum_t *)objp)) {
 =09=09 return (FALSE);
@@ -70,7 +70,7 @@
 xdr_nfs_fh(XDR *xdrs, nfs_fh *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 int i=3Di;
 =09 if (!xdr_opaque(xdrs, objp->data, NFS_FHSIZE)) {
@@ -83,7 +83,7 @@
 xdr_nfstime(XDR *xdrs, nfstime *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_u_int(xdrs, &objp->seconds)) {
 =09=09 return (FALSE);
@@ -98,7 +98,7 @@
 xdr_fattr(XDR *xdrs, fattr *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
=20
 =09 if (xdrs->x_op =3D=3D XDR_ENCODE) {
@@ -140,16 +140,16 @@
=20
 =09  }
 =09  else {
-=09=09 IXDR_PUT_U_LONG(buf,objp->mode);
-=09=09 IXDR_PUT_U_LONG(buf,objp->nlink);
-=09=09 IXDR_PUT_U_LONG(buf,objp->uid);
-=09=09 IXDR_PUT_U_LONG(buf,objp->gid);
-=09=09 IXDR_PUT_U_LONG(buf,objp->size);
-=09=09 IXDR_PUT_U_LONG(buf,objp->blocksize);
-=09=09 IXDR_PUT_U_LONG(buf,objp->rdev);
-=09=09 IXDR_PUT_U_LONG(buf,objp->blocks);
-=09=09 IXDR_PUT_U_LONG(buf,objp->fsid);
-=09=09 IXDR_PUT_U_LONG(buf,objp->fileid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->mode);
+=09=09 IXDR_PUT_U_INT32(buf,objp->nlink);
+=09=09 IXDR_PUT_U_INT32(buf,objp->uid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->gid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->size);
+=09=09 IXDR_PUT_U_INT32(buf,objp->blocksize);
+=09=09 IXDR_PUT_U_INT32(buf,objp->rdev);
+=09=09 IXDR_PUT_U_INT32(buf,objp->blocks);
+=09=09 IXDR_PUT_U_INT32(buf,objp->fsid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->fileid);
 =09  }
 =09 if (!xdr_nfstime(xdrs, &objp->atime)) {
 =09=09 return (FALSE);
@@ -201,16 +201,16 @@
=20
 =09  }
 =09  else {
-=09=09 objp->mode =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->nlink =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->uid =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->gid =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->size =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->blocksize =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->rdev =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->blocks =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->fsid =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->fileid =3D IXDR_GET_U_LONG(buf);
+=09=09 objp->mode =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->nlink =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->uid =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->gid =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->size =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->blocksize =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->rdev =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->blocks =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->fsid =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->fileid =3D IXDR_GET_U_INT32(buf);
 =09  }
 =09 if (!xdr_nfstime(xdrs, &objp->atime)) {
 =09=09 return (FALSE);
@@ -273,7 +273,7 @@
 xdr_sattr(XDR *xdrs, sattr *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
=20
 =09 if (xdrs->x_op =3D=3D XDR_ENCODE) {
@@ -294,10 +294,10 @@
=20
 =09  }
 =09  else {
-=09=09 IXDR_PUT_U_LONG(buf,objp->mode);
-=09=09 IXDR_PUT_U_LONG(buf,objp->uid);
-=09=09 IXDR_PUT_U_LONG(buf,objp->gid);
-=09=09 IXDR_PUT_U_LONG(buf,objp->size);
+=09=09 IXDR_PUT_U_INT32(buf,objp->mode);
+=09=09 IXDR_PUT_U_INT32(buf,objp->uid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->gid);
+=09=09 IXDR_PUT_U_INT32(buf,objp->size);
 =09  }
 =09 if (!xdr_nfstime(xdrs, &objp->atime)) {
 =09=09 return (FALSE);
@@ -325,10 +325,10 @@
=20
 =09  }
 =09  else {
-=09=09 objp->mode =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->uid =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->gid =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->size =3D IXDR_GET_U_LONG(buf);
+=09=09 objp->mode =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->uid =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->gid =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->size =3D IXDR_GET_U_INT32(buf);
 =09  }
 =09 if (!xdr_nfstime(xdrs, &objp->atime)) {
 =09=09 return (FALSE);
@@ -364,7 +364,7 @@
 xdr_filename(XDR *xdrs, filename *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_string(xdrs, objp, NFS_MAXNAMLEN)) {
 =09=09 return (FALSE);
@@ -376,7 +376,7 @@
 xdr_nfspath(XDR *xdrs, nfspath *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_string(xdrs, objp, NFS_MAXPATHLEN)) {
 =09=09 return (FALSE);
@@ -388,7 +388,7 @@
 xdr_attrstat(XDR *xdrs, attrstat *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
@@ -409,7 +409,7 @@
 xdr_sattrargs(XDR *xdrs, sattrargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->file)) {
 =09=09 return (FALSE);
@@ -424,7 +424,7 @@
 xdr_diropargs(XDR *xdrs, diropargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->dir)) {
 =09=09 return (FALSE);
@@ -439,7 +439,7 @@
 xdr_diropokres(XDR *xdrs, diropokres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->file)) {
 =09=09 return (FALSE);
@@ -454,7 +454,7 @@
 xdr_diropres(XDR *xdrs, diropres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
@@ -475,7 +475,7 @@
 xdr_readlinkres(XDR *xdrs, readlinkres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
@@ -496,7 +496,7 @@
 xdr_readargs(XDR *xdrs, readargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->file)) {
 =09=09 return (FALSE);
@@ -517,7 +517,7 @@
 xdr_readokres(XDR *xdrs, readokres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_fattr(xdrs, &objp->attributes)) {
 =09=09 return (FALSE);
@@ -532,7 +532,7 @@
 xdr_readres(XDR *xdrs, readres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
@@ -553,7 +553,7 @@
 xdr_writeargs(XDR *xdrs, writeargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
=20
 =09 if (xdrs->x_op =3D=3D XDR_ENCODE) {
@@ -574,9 +574,9 @@
=20
 =09  }
 =09  else {
-=09=09 IXDR_PUT_U_LONG(buf,objp->beginoffset);
-=09=09 IXDR_PUT_U_LONG(buf,objp->offset);
-=09=09 IXDR_PUT_U_LONG(buf,objp->totalcount);
+=09=09 IXDR_PUT_U_INT32(buf,objp->beginoffset);
+=09=09 IXDR_PUT_U_INT32(buf,objp->offset);
+=09=09 IXDR_PUT_U_INT32(buf,objp->totalcount);
 =09  }
 =09 if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *)&objp->dat=
a.data_len, NFS_MAXDATA)) {
 =09=09 return (FALSE);
@@ -601,9 +601,9 @@
=20
 =09  }
 =09  else {
-=09=09 objp->beginoffset =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->offset =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->totalcount =3D IXDR_GET_U_LONG(buf);
+=09=09 objp->beginoffset =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->offset =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->totalcount =3D IXDR_GET_U_INT32(buf);
 =09  }
 =09 if (!xdr_bytes(xdrs, (char **)&objp->data.data_val, (u_int *)&objp->dat=
a.data_len, NFS_MAXDATA)) {
 =09=09 return (FALSE);
@@ -633,7 +633,7 @@
 xdr_createargs(XDR *xdrs, createargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_diropargs(xdrs, &objp->where)) {
 =09=09 return (FALSE);
@@ -648,7 +648,7 @@
 xdr_renameargs(XDR *xdrs, renameargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_diropargs(xdrs, &objp->from)) {
 =09=09 return (FALSE);
@@ -663,7 +663,7 @@
 xdr_linkargs(XDR *xdrs, linkargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->from)) {
 =09=09 return (FALSE);
@@ -678,7 +678,7 @@
 xdr_symlinkargs(XDR *xdrs, symlinkargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_diropargs(xdrs, &objp->from)) {
 =09=09 return (FALSE);
@@ -696,7 +696,7 @@
 xdr_nfscookie(XDR *xdrs, nfscookie objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_opaque(xdrs, objp, NFS_COOKIESIZE)) {
 =09=09 return (FALSE);
@@ -708,7 +708,7 @@
 xdr_readdirargs(XDR *xdrs, readdirargs *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfs_fh(xdrs, &objp->dir)) {
 =09=09 return (FALSE);
@@ -726,7 +726,7 @@
 xdr_entry(XDR *xdrs, entry *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_u_int(xdrs, &objp->fileid)) {
 =09=09 return (FALSE);
@@ -747,7 +747,7 @@
 xdr_dirlist(XDR *xdrs, dirlist *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_pointer(xdrs, (char **)&objp->entries, sizeof(entry), (xdrproc=
_t)xdr_entry)) {
 =09=09 return (FALSE);
@@ -762,7 +762,7 @@
 xdr_readdirres(XDR *xdrs, readdirres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
@@ -783,7 +783,7 @@
 xdr_statfsokres(XDR *xdrs, statfsokres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
=20
 =09 if (xdrs->x_op =3D=3D XDR_ENCODE) {
@@ -807,11 +807,11 @@
=20
 =09  }
 =09  else {
-=09=09 IXDR_PUT_U_LONG(buf,objp->tsize);
-=09=09 IXDR_PUT_U_LONG(buf,objp->bsize);
-=09=09 IXDR_PUT_U_LONG(buf,objp->blocks);
-=09=09 IXDR_PUT_U_LONG(buf,objp->bfree);
-=09=09 IXDR_PUT_U_LONG(buf,objp->bavail);
+=09=09 IXDR_PUT_U_INT32(buf,objp->tsize);
+=09=09 IXDR_PUT_U_INT32(buf,objp->bsize);
+=09=09 IXDR_PUT_U_INT32(buf,objp->blocks);
+=09=09 IXDR_PUT_U_INT32(buf,objp->bfree);
+=09=09 IXDR_PUT_U_INT32(buf,objp->bavail);
 =09  }
=20
  =09 return (TRUE);
@@ -836,11 +836,11 @@
=20
 =09  }
 =09  else {
-=09=09 objp->tsize =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->bsize =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->blocks =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->bfree =3D IXDR_GET_U_LONG(buf);
-=09=09 objp->bavail =3D IXDR_GET_U_LONG(buf);
+=09=09 objp->tsize =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->bsize =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->blocks =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->bfree =3D IXDR_GET_U_INT32(buf);
+=09=09 objp->bavail =3D IXDR_GET_U_INT32(buf);
 =09  }
 =09 return(TRUE);
 =09}
@@ -867,7 +867,7 @@
 xdr_statfsres(XDR *xdrs, statfsres *objp)
 {
=20
-=09 register long *buf=3Dbuf;
+=09 register int *buf=3Dbuf;
=20
 =09 if (!xdr_nfsstat(xdrs, &objp->status)) {
 =09=09 return (FALSE);
--- kdebase-3.0.8/kcontrol/kio/kproxydlg.cpp.orig=092002-10-10 13:46:00.3894=
72000 -0400
+++ kdebase-3.0.8/kcontrol/kio/kproxydlg.cpp=092002-10-10 13:46:18.309642000=
 -0400
@@ -42,7 +42,7 @@
 #include "socks.h"
 #include "kproxydlg.h"
=20
-KProxyOptions::KProxyOptions( QWidget* parent =3D 0, const char* /*name*/ )
+KProxyOptions::KProxyOptions( QWidget* parent, const char* /*name*/ )
 {
   QVBoxLayout *layout =3D new QVBoxLayout(this);
   QTabWidget *tab =3D new QTabWidget(this);
--- kdebase-3.0.8/kcontrol/info/memory_solaris.cpp.orig=092002-10-10 13:22:0=
1.365376000 -0400
+++ kdebase-3.0.8/kcontrol/info/memory_solaris.cpp=092002-10-10 13:23:21.246=
173000 -0400
@@ -52,7 +52,7 @@
 =09if( kdata !=3D NULL )
 =09=09Memory_Info[FREE_MEM] =3D PAGETOK(kdata->value.ui32);
=20
-#warning "FIXME: Memory_Info[CACHED_MEM]"
+// TODO - FIXME: Memory_Info[CACHED_MEM]
 =09Memory_Info[CACHED_MEM] =3D NO_MEMORY_INFO; // cached memory in ram
 =09 =20
 =09kstat_close( kctl );
--- kdebase-3.0.8/kcontrol/kfontinst/kfontinst/FontmapCreator.h.orig=092002-=
10-10 16:51:20.555251000 -0400
+++ kdebase-3.0.8/kcontrol/kfontinst/kfontinst/FontmapCreator.h=092002-10-10=
 16:52:38.616044000 -0400
@@ -39,7 +39,7 @@
 {
     Q_OBJECT
=20
-    private:
+    protected:
=20
     struct TSlant
     {
@@ -47,12 +47,16 @@
                 filename;
     };
=20
+    struct TFontEntry;
+    friend struct TFontEntry;
     struct TFontEntry
     {
         TSlant roman,
                italic;
     };
=20
+    struct TFontFamily;
+    friend struct TFontFamily;
     struct TFontFamily
     {
         TFontFamily();
@@ -77,6 +81,8 @@
                             *black;
     };
=20
+    struct TListEntry;
+    friend struct TListEntry;
     struct TListEntry
     {
         TListEntry() : next(NULL) {}
--- kdebase-3.0.8/kcontrol/kfontinst/kfontinst/Ttf.h.orig=092002-10-10 16:14=
:41.971822000 -0400
+++ kdebase-3.0.8/kcontrol/kfontinst/kfontinst/Ttf.h=092002-10-10 16:15:53.0=
32575000 -0400
@@ -37,7 +37,7 @@
=20
 class CTtf
 {
-    private:
+    protected:
=20
     struct TPsNameMap
     {
@@ -80,6 +80,8 @@
                       length;
     };
 =20
+    struct TDirectory;
+    friend struct TDirectory;
     struct TDirectory
     {
         unsigned long  sfntVersion;
@@ -90,6 +92,8 @@
         TDirEntry      list;
     };
 =20
+    struct TPostHead;
+    friend struct TPostHead;
     struct TPostHead
     {
         unsigned long  formatType;
--- kdebase-3.0.8/kcontrol/kfontinst/kfontinst/FontEngine.cpp.orig=092002-10=
-10 16:17:37.613691000 -0400
+++ kdebase-3.0.8/kcontrol/kfontinst/kfontinst/FontEngine.cpp=092002-10-10 1=
6:22:23.977771000 -0400
@@ -844,8 +844,8 @@
=20
     static char token[constMaxTokenLen];
=20
-    char *start,
-         *end;
+    const char *start,
+    =09       *end;
=20
     token[0]=3D'\0';
     if(NULL!=3D(start=3Dstrstr(str, key)) && NULL!=3D(start=3Dstrchr(start,=
 '(')) && NULL!=3D(end=3Dstrstr(start, "readonly")))
@@ -881,8 +881,8 @@
=20
     static char token[constMaxTokenLen];
=20
-    char *start,
-         *end;
+    const char *start,
+               *end;
=20
     token[0]=3D'\0';
     if(NULL!=3D(start=3Dstrstr(str, key)) && NULL!=3D(end=3Dstrstr(start, "=
def")) && end>start)
@@ -954,7 +954,7 @@
                 if((dict=3Dstrstr(header, "dict begin"))!=3DNULL)
                 {
                     // Now look for the end of the 'dict' section
-                    if((end=3Dstrstr(dict, "currentdict end"))!=3DNULL)
+                    if((end=3D (char *) strstr(dict, "currentdict end"))!=
=3DNULL)
                         *end=3D'\0';  // If found, then set to NULL - this=20=
should speed up the following strstr's
=20
                     // Having found the 'dict' section, now try to read the=
 data...
@@ -1857,7 +1857,7 @@
=20
 static const char * getTokenBdf(const char *str, const char *key, bool noqu=
otes=3Dfalse)
 {
-    char         *s=3DNULL;
+    const char   *s=3DNULL;
     unsigned int keyLen=3Dstrlen(key),
                  sLen=3Dstrlen(str);
=20
@@ -1874,7 +1874,7 @@
         if(noquotes)
         {
             s+=3Dstrlen(key)+1;
-            if(NULL!=3D(end=3Dstrchr(s, '\n')))
+            if(NULL!=3D(end=3D (char *) strchr(s, '\n')))
             {
                 *end=3D'\0';
                 return s;
@@ -1884,7 +1884,7 @@
             if(NULL!=3D(s=3Dstrchr(token, '\"')))
             {
                 s++;
-                if(NULL!=3D(end=3Dstrchr(s, '\"')))
+                if(NULL!=3D(end=3D (char *) strchr(s, '\"')))
                 {
                     *end=3D'\0';
                     return s;
--- kdebase-3.0.8/kicker/share/menuinfo.cpp.orig=092002-10-10 14:39:17.39212=
6000 -0400
+++ kdebase-3.0.8/kicker/share/menuinfo.cpp=092002-10-10 14:39:29.572199000=20=
-0400
@@ -63,6 +63,6 @@
         return NULL;
=20
     return KParts::ComponentFactory::createInstanceFromLibrary<KPanelMenu>(
-               QFile::encodeName( library_ ),
+               (const char *) QFile::encodeName( library_ ),
                parent, name );
 }
--- kdebase-3.0.8/kicker/applets/clock/clock.cpp.orig=092002-10-10 18:47:01.=
849051000 -0400
+++ kdebase-3.0.8/kicker/applets/clock/clock.cpp=092002-10-10 18:47:57.60960=
4000 -0400
@@ -23,7 +23,6 @@
=20
 #include <cstdlib>
 #include <ctime>
-#include <time.h>
=20
 #include "clock.h"
 #include "datepicker.h"
--- kdebase-3.0.8/kpager/main.cpp.orig=092002-10-10 18:53:12.402441000 -0400
+++ kdebase-3.0.8/kpager/main.cpp=092002-10-10 18:53:24.422519000 -0400
@@ -52,6 +52,7 @@
=20
   int newInstance() {
     mainWidget()->show();
+    return 0;
   }
=20
 };

--=-GOGR7VIFKUkKNrmxqGtq
Content-Disposition: attachment; filename=kdelibs-3.0.8-changelog.txt
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=kdelibs-3.0.8-changelog.txt; charset=UTF-8

These changes are based on kdelibs-3.0.8 from kde-3.1-beta2.

One thing that kept coming up appears to be a bug in the Sun C++ compiler. I=
t
gets confused when the 'class' keyword is used in front of the class name as
part of a variable declaration rather than just using the class name by itse=
lf.
In many cases it required a forward declaration of the class to get around.

This likely hasn't come up before with regards to Sun C++ as using the 'clas=
s'
keyword in other than just the class declaration or forward declarations is=20=
not
common practice.

admin/libtool.m4.in:
    * Don't ever force undef sym checking when building libs. Forcing checki=
ng
      for undefined symbols causes problems as Sun C++ leaves out Cstd and
      Crun, for very good reasons, when building shared libs.
    * The '-Qoption ld ' is not necessary with Sun C++ as CC will
      automatically pass all -z options to ld. Using '-Qoption ld' has the=20
      adverse effect of causing those flags to be passed out of order to
      ld. What was happening is ld would incorrectly get:

      -z allextract -z defaultextract <lib>
    * There is still a problem with libtool in that it adds the convenience
      archives twice when linking shared libraries such as libkdecore.so, on=
ce
      from the whole_archive_flag_spec, once from deplibs. This causes multi=
ply
      defined symbols which by default causes the linker to fail. I've
      temporarily gotten around this by adding the -z muldefs to shared libr=
ary
      linking when using Sun C++.
interfaces/ktexteditor/sessionconfiginterface.h:
    * Using the 'class' keyword as part of typenames instead of providing
      forward declarations confuses Sun C++. This caused the three variants
      of sessionConfigInterface() to look to be the same to the compiler.
kabc/addresseelist.h:
    * Removed spurious semicolon that causes Sun C++ to fail.
kate/part/kateviewinternal.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kate/part/katedialogs.h:
    * Using the 'class' keyword as part of typenames confuses Sun C++. In th=
is
      case it caused the compiler to not recognize QMap as a template.
kate/interfaces/document.h:
    * Using the 'class' keyword as part of typenames instead of providing
      forward declarations confuses Sun C++. This caused updateMenu() to
      appear as a redeclaration.
kdecore/kallocator.cpp:
    * Sun C++ doesn't allow casting from pointer to 32 bit scalar when
      compiling for 64 bit target.
kdeui/kaccelmanager.cpp:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kdeui/kmainwindow.cpp:
    * For some reason Sun C++ didn't like the global static no_query_exit.
      Moved it into KMWSessionManaged.
kdesu/client.cpp:
    * Sun C++ doesn't allow casting from pointer to 32 bit scalar when
      compiling for 64 bit target.
kdesu/kdesu_pty.cpp:
    * Don't define _XOPEN_SOURCE for sun
khtml/ecma/kjs_window.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
khtml/rendering/bidi.cpp:
    * Sun C++ requires inline methods be defined prior to invocation.
kio/kio/kdirlister.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kio/kio/kdirwatch_p.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kio/kio/kfilemetainfo.cpp:
    * Sun C++ for some reason won't implicitly use the const char *() operat=
or.
kio/kpasswdserver/kpasswdserver.h:
    * Sun C++ doesn't allow private types to be accessed from a nested class=
.
kio/kssl/kopenssl.cc:
    * Sun C++ requires that parameters maintain their link semantics, ie
      extern "C". This required providing typedefs to all function pointers
      within the extern "C" block to enforce the linkage semantics.
kjs/lookup.h:
    * Removed spurious semicolon that causes Sun C++ to fail.
kjs/operations.cpp:
    * Need additional include for Sun C++ for isinf declaration.
kparts/componentfactory.h:
    * Sun C++ for some reason won't implicitly use the const char *() operat=
or.

--=-GOGR7VIFKUkKNrmxqGtq
Content-Disposition: attachment; filename=kdelibs-3.0.8.diffs
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=kdelibs-3.0.8.diffs; charset=UTF-8

--- kdelibs-3.0.8/kio/kio/kdirwatch_p.h.orig=092002-10-08 10:10:00.591001000=
 -0400
+++ kdelibs-3.0.8/kio/kio/kdirwatch_p.h=092002-10-08 16:44:33.790005000 -040=
0
@@ -18,11 +18,11 @@
 {
   Q_OBJECT
=20
+public:
   enum entryStatus { Normal =3D 0, NonExistent };
   enum entryMode { UnknownMode =3D 0, StatMode, DNotifyMode, FAMMode };
   enum { NoChange=3D0, Changed=3D1, Created=3D2, Deleted=3D4 };
=20
-public:
   struct Client {
     KDirWatch* instance;
     int count;
--- kdelibs-3.0.8/kio/kio/kdirlister.h.orig=092002-10-08 10:20:43.067773000=20=
-0400
+++ kdelibs-3.0.8/kio/kio/kdirlister.h=092002-10-08 16:44:33.800003000 -0400
@@ -53,6 +53,8 @@
  */
 class KDirLister : public QObject
 {
+  class KDirListerPrivate;
+  friend class KDirListerPrivate;
   friend class KDirListerCache;
=20
   Q_OBJECT
@@ -408,6 +410,10 @@
   void speed( int bytes_per_second );
=20
 protected:
+  enum Changes {
+    NONE=3D0, NAME_FILTER=3D1, MIME_FILTER=3D2, DOT_FILES=3D4, DIR_ONLY_MOD=
E=3D8
+  };
+
   /**
    * Called for every new item before emitting @ref newItems().
    * @return true if the item is "ok".
@@ -463,11 +469,6 @@
   virtual void emitItems();
   virtual void emitDeleteItem( KFileItem *item );
=20
-  enum Changes {
-    NONE=3D0, NAME_FILTER=3D1, MIME_FILTER=3D2, DOT_FILES=3D4, DIR_ONLY_MOD=
E=3D8
-  };
-
-  class KDirListerPrivate;
   KDirListerPrivate *d;
 };
=20
--- kdelibs-3.0.8/kio/kio/kfilemetainfo.cpp.orig=092002-10-08 10:26:00.21102=
6000 -0400
+++ kdelibs-3.0.8/kio/kio/kfilemetainfo.cpp=092002-10-08 16:44:33.820001000=20=
-0400
@@ -870,7 +870,7 @@
         }
=20
         p =3D KParts::ComponentFactory::createInstanceFromService<KFilePlug=
in>
-                 ( service, this, mimeType.local8Bit() );
+                 ( service, this, (const char *) mimeType.local8Bit() );
=20
         if (!p)
         {
--- kdelibs-3.0.8/kio/kssl/kopenssl.cc.orig=092002-10-09 13:38:23.411635000=20=
-0400
+++ kdelibs-3.0.8/kio/kssl/kopenssl.cc=092002-10-09 14:00:34.266012000 -0400
@@ -30,132 +30,256 @@
=20
 extern "C" {
 #ifdef HAVE_SSL
-static int (*K_SSL_connect)     (SSL *) =3D NULL;
-static int (*K_SSL_accept)      (SSL *) =3D NULL;
-static int (*K_SSL_read)        (SSL *, void *, int) =3D NULL;
-static int (*K_SSL_write)       (SSL *, const void *, int) =3D NULL;
-static SSL *(*K_SSL_new)        (SSL_CTX *) =3D NULL;
-static void (*K_SSL_free)       (SSL *) =3D NULL;
-static int (*K_SSL_shutdown)    (SSL *) =3D NULL;
-static SSL_CTX *(*K_SSL_CTX_new)(SSL_METHOD *) =3D NULL;
-static void (*K_SSL_CTX_free)   (SSL_CTX *) =3D NULL;
-static int (*K_SSL_set_fd)      (SSL *, int) =3D NULL;
-static int (*K_SSL_pending)     (SSL *) =3D NULL;
-static int (*K_SSL_peek)        (SSL *, void *, int) =3D NULL;
-static int (*K_SSL_CTX_set_cipher_list)(SSL_CTX *, const char *) =3D NULL;
-static void (*K_SSL_CTX_set_verify)(SSL_CTX *, int,
-                         int (*)(int, X509_STORE_CTX *)) =3D NULL;
-static int (*K_SSL_use_certificate)(SSL *, X509 *) =3D NULL;
-static SSL_CIPHER *(*K_SSL_get_current_cipher)(SSL *) =3D NULL;
-static long (*K_SSL_ctrl)      (SSL *,int, long, char *) =3D NULL;
-static int (*K_RAND_egd)        (const char *) =3D NULL;
-static const char* (*K_RAND_file_name) (char *, size_t) =3D NULL;
-static int (*K_RAND_load_file)  (const char *, long) =3D NULL;
-static int (*K_RAND_write_file) (const char *) =3D NULL;
-static SSL_METHOD * (*K_TLSv1_client_method) () =3D NULL;
-static SSL_METHOD * (*K_SSLv2_client_method) () =3D NULL;
-static SSL_METHOD * (*K_SSLv3_client_method) () =3D NULL;
-static SSL_METHOD * (*K_SSLv23_client_method) () =3D NULL;
-static X509 * (*K_SSL_get_peer_certificate) (SSL *) =3D NULL;
-static int (*K_SSL_CIPHER_get_bits) (SSL_CIPHER *,int *) =3D NULL;
-static char * (*K_SSL_CIPHER_get_version) (SSL_CIPHER *) =3D NULL;
-static const char * (*K_SSL_CIPHER_get_name) (SSL_CIPHER *) =3D NULL;
-static char * (*K_SSL_CIPHER_description) (SSL_CIPHER *, char *, int) =3D N=
ULL;
-static X509 * (*K_d2i_X509) (X509 **,unsigned char **,long) =3D NULL;
-static int (*K_i2d_X509) (X509 *,unsigned char **) =3D NULL;
-static int (*K_X509_cmp) (X509 *, X509 *) =3D NULL;
-static void (*K_X509_STORE_CTX_free) (X509_STORE_CTX *) =3D NULL;
-static int (*K_X509_verify_cert) (X509_STORE_CTX *) =3D NULL;
-static X509_STORE_CTX *(*K_X509_STORE_CTX_new) (void) =3D NULL;
-static void (*K_X509_STORE_free) (X509_STORE *) =3D NULL;
-static X509_STORE *(*K_X509_STORE_new) (void) =3D NULL;
-static void (*K_X509_free) (X509 *) =3D NULL;
-static char *(*K_X509_NAME_oneline) (X509_NAME *,char *,int) =3D NULL;
-static X509_NAME *(*K_X509_get_subject_name) (X509 *) =3D NULL;
-static X509_NAME *(*K_X509_get_issuer_name) (X509 *) =3D NULL;
-static X509_LOOKUP *(*K_X509_STORE_add_lookup) (X509_STORE *, X509_LOOKUP_M=
ETHOD *) =3D NULL;
-static X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file)(void) =3D NULL;
-static void (*K_X509_LOOKUP_free)(X509_LOOKUP *) =3D NULL;
-static int (*K_X509_LOOKUP_ctrl)(X509_LOOKUP *, int, const char *, long, ch=
ar **) =3D NULL;
-static void (*K_X509_STORE_CTX_init)(X509_STORE_CTX *, X509_STORE *, X509 *=
, STACK_OF(X509) *) =3D NULL;
-static void (*K_CRYPTO_free)       (void *) =3D NULL;
-static X509* (*K_X509_dup)         (X509 *) =3D NULL;
-static BIO* (*K_BIO_new_fp)   (FILE *, int) =3D NULL;
-static int  (*K_BIO_free)           (BIO *) =3D NULL;
-static int (*K_PEM_ASN1_write_bio) (int (*)(),const char *,BIO *,char *,
-                                   const EVP_CIPHER *,unsigned char *,int ,
-                                            pem_password_cb *, void *) =3D=20=
NULL;
-static ASN1_METHOD* (*K_X509_asn1_meth) (void) =3D NULL;
-static int (*K_ASN1_i2d_fp)(int (*)(),FILE *,unsigned char *) =3D NULL;
-static int (*K_i2d_ASN1_HEADER)(ASN1_HEADER *, unsigned char **) =3D NULL;
-static int (*K_X509_print_fp)  (FILE *, X509*) =3D NULL;
-static int (*K_i2d_PKCS12)  (PKCS12*, unsigned char**) =3D NULL;
-static int (*K_i2d_PKCS12_fp)  (FILE *, PKCS12*) =3D NULL;
-static int (*K_PKCS12_newpass) (PKCS12*, char*, char*) =3D NULL;
-static PKCS12* (*K_d2i_PKCS12_fp) (FILE*, PKCS12**) =3D NULL;
-static PKCS12* (*K_PKCS12_new) (void) =3D NULL;
-static void (*K_PKCS12_free) (PKCS12 *) =3D NULL;
-static int (*K_PKCS12_parse) (PKCS12*, const char *, EVP_PKEY**,=20
-                                             X509**, STACK_OF(X509)**) =3D=20=
NULL;
-static void (*K_EVP_PKEY_free) (EVP_PKEY *) =3D NULL;
-static EVP_PKEY* (*K_EVP_PKEY_new) () =3D NULL;
-static void (*K_X509_REQ_free) (X509_REQ *) =3D NULL;
-static X509_REQ* (*K_X509_REQ_new) () =3D NULL;
-static int (*K_SSL_CTX_use_PrivateKey) (SSL_CTX*, EVP_PKEY*) =3D NULL;
-static int (*K_SSL_CTX_use_certificate) (SSL_CTX*, X509*) =3D NULL;
-static int (*K_SSL_get_error) (SSL*, int) =3D NULL;
-static STACK_OF(X509)* (*K_SSL_get_peer_cert_chain) (SSL*) =3D NULL;
-static void (*K_X509_STORE_CTX_set_chain) (X509_STORE_CTX *, STACK_OF(X509)=
*) =3D NULL;
-static void (*K_X509_STORE_CTX_set_purpose) (X509_STORE_CTX *, int) =3D NUL=
L;
-static void (*K_sk_free) (STACK*) =3D NULL;
-static int (*K_sk_num) (STACK*) =3D NULL;
-static char* (*K_sk_pop) (STACK*) =3D NULL;
-static char* (*K_sk_value) (STACK*, int) =3D NULL;
-static STACK* (*K_sk_new) (int (*)()) =3D NULL;
-static int (*K_sk_push) (STACK*, char*) =3D NULL;
-static STACK* (*K_sk_dup) (STACK *) =3D NULL;
-static char * (*K_i2s_ASN1_INTEGER) (X509V3_EXT_METHOD *, ASN1_INTEGER *)=20=
=3DNULL;
-static ASN1_INTEGER * (*K_X509_get_serialNumber) (X509 *) =3D NULL;
-static EVP_PKEY *(*K_X509_get_pubkey)(X509 *) =3D NULL;
-static int (*K_i2d_PublicKey)(EVP_PKEY *, unsigned char **) =3D NULL;
-static int (*K_X509_check_private_key)(X509 *, EVP_PKEY *) =3D NULL;
-static char * (*K_BN_bn2hex)(const BIGNUM *) =3D NULL;
-static int (*K_X509_digest)(const X509 *,const EVP_MD *, unsigned char *, u=
nsigned int *) =3D NULL;
-static EVP_MD* (*K_EVP_md5)() =3D NULL;
-static void (*K_ASN1_INTEGER_free)(ASN1_INTEGER *) =3D NULL;
-static int (*K_OBJ_obj2nid)(ASN1_OBJECT *) =3D NULL;
-static const char * (*K_OBJ_nid2ln)(int) =3D NULL;
-static int (*K_X509_get_ext_count)(X509*) =3D NULL;
-static int (*K_X509_get_ext_by_NID)(X509*, int, int) =3D NULL;
-static int (*K_X509_get_ext_by_OBJ)(X509*,ASN1_OBJECT*,int) =3D NULL;
-static X509_EXTENSION *(*K_X509_get_ext)(X509*, int loc) =3D NULL;
-static X509_EXTENSION *(*K_X509_delete_ext)(X509*, int) =3D NULL;
-static int (*K_X509_add_ext)(X509*, X509_EXTENSION*, int) =3D NULL;
-static void *(*K_X509_get_ext_d2i)(X509*, int, int*, int*) =3D NULL;
-static char *(*K_i2s_ASN1_OCTET_STRING)(X509V3_EXT_METHOD*, ASN1_OCTET_STRI=
NG*) =3D NULL;
-static int (*K_ASN1_BIT_STRING_get_bit)(ASN1_BIT_STRING*, int) =3D NULL;
-static PKCS7 *(*K_PKCS7_new)() =3D NULL;
-static void (*K_PKCS7_free)(PKCS7*) =3D NULL;
-static void (*K_PKCS7_content_free)(PKCS7*) =3D NULL;
-static int (*K_i2d_PKCS7)(PKCS7*, unsigned char**) =3D NULL;
-static PKCS7 *(*K_d2i_PKCS7)(PKCS7**, unsigned char**,long) =3D NULL;
-static int (*K_i2d_PKCS7_fp)(FILE*,PKCS7*) =3D NULL;
-static PKCS7* (*K_d2i_PKCS7_fp)(FILE*,PKCS7**) =3D NULL;
-static PKCS7* (*K_PKCS7_dup)(PKCS7*) =3D NULL;
-static STACK_OF(X509_NAME) *(*K_SSL_load_client_CA_file)(const char*) =3D N=
ULL;
-static STACK_OF(X509_INFO) *(*K_PEM_X509_INFO_read)(FILE*, STACK_OF(X509_IN=
FO)*, pem_password_cb*, void*) =3D NULL;
-static char *(*K_ASN1_d2i_fp)(char *(*)(),char *(*)(),FILE*,unsigned char**=
) =3D NULL;
-static X509 *(*K_X509_new)() =3D NULL;
-static int (*K_X509_PURPOSE_get_count)() =3D NULL;
-static int (*K_X509_PURPOSE_get_id)(X509_PURPOSE *) =3D NULL;
-static int (*K_X509_check_purpose)(X509*,int,int) =3D NULL;
-static X509_PURPOSE* (*K_X509_PURPOSE_get0)(int) =3D NULL;
-static int (*K_EVP_PKEY_assign)(EVP_PKEY*, int, char*) =3D NULL;
-static int (*K_X509_REQ_set_pubkey)(X509_REQ*, EVP_PKEY*) =3D NULL;
-static RSA *(*K_RSA_generate_key)(int, unsigned long, void (*)(int,int,void=
 *), void *) =3D NULL;
-static int (*K_i2d_X509_REQ_fp)(FILE*, X509_REQ*) =3D NULL;
-static void (*K_ERR_clear_error)() =3D NULL;
-static void (*K_ERR_print_errors_fp)(FILE*) =3D NULL;
+typedef int (*K_int_func)();
+typedef char *(*K_str_func)();
+typedef int (*K_SSL_CTX_set_verify_cb)(int, X509_STORE_CTX *);
+typedef void (*K_RSA_generate_key_cb)(int,int,void *);
+
+typedef int (*K_SSL_connect_func)     (SSL *);
+typedef int (*K_SSL_accept_func)      (SSL *);
+typedef int (*K_SSL_read_func)        (SSL *, void *, int);
+typedef int (*K_SSL_write_func)       (SSL *, const void *, int);
+typedef SSL *(*K_SSL_new_func)        (SSL_CTX *);
+typedef void (*K_SSL_free_func)       (SSL *);
+typedef int (*K_SSL_shutdown_func)    (SSL *);
+typedef SSL_CTX *(*K_SSL_CTX_new_func)(SSL_METHOD *);
+typedef void (*K_SSL_CTX_free_func)   (SSL_CTX *);
+typedef int (*K_SSL_set_fd_func)      (SSL *, int);
+typedef int (*K_SSL_pending_func)     (SSL *);
+typedef int (*K_SSL_peek_func)        (SSL *, void *, int);
+typedef int (*K_SSL_CTX_set_cipher_list_func)(SSL_CTX *, const char *);
+typedef void (*K_SSL_CTX_set_verify_func)(SSL_CTX *, int, K_SSL_CTX_set_ver=
ify_cb);
+typedef int (*K_SSL_use_certificate_func)(SSL *, X509 *);
+typedef SSL_CIPHER *(*K_SSL_get_current_cipher_func)(SSL *);
+typedef long (*K_SSL_ctrl_func)      (SSL *,int, long, char *);
+typedef int (*K_RAND_egd_func)        (const char *);
+typedef const char* (*K_RAND_file_name_func) (char *, size_t);
+typedef int (*K_RAND_load_file_func)  (const char *, long);
+typedef int (*K_RAND_write_file_func) (const char *);
+typedef SSL_METHOD * (*K_TLSv1_client_method_func) ();
+typedef SSL_METHOD * (*K_SSLv2_client_method_func) ();
+typedef SSL_METHOD * (*K_SSLv3_client_method_func) ();
+typedef SSL_METHOD * (*K_SSLv23_client_method_func) ();
+typedef X509 * (*K_SSL_get_peer_certificate_func) (SSL *);
+typedef int (*K_SSL_CIPHER_get_bits_func) (SSL_CIPHER *,int *);
+typedef char * (*K_SSL_CIPHER_get_version_func) (SSL_CIPHER *);
+typedef const char * (*K_SSL_CIPHER_get_name_func) (SSL_CIPHER *);
+typedef char * (*K_SSL_CIPHER_description_func) (SSL_CIPHER *, char *, int)=
;
+typedef X509 * (*K_d2i_X509_func) (X509 **,unsigned char **,long);
+typedef int (*K_i2d_X509_func) (X509 *,unsigned char **);
+typedef int (*K_X509_cmp_func) (X509 *, X509 *);
+typedef void (*K_X509_STORE_CTX_free_func) (X509_STORE_CTX *);
+typedef int (*K_X509_verify_cert_func) (X509_STORE_CTX *);
+typedef X509_STORE_CTX *(*K_X509_STORE_CTX_new_func) (void);
+typedef void (*K_X509_STORE_free_func) (X509_STORE *);
+typedef X509_STORE *(*K_X509_STORE_new_func) (void);
+typedef void (*K_X509_free_func) (X509 *);
+typedef char *(*K_X509_NAME_oneline_func) (X509_NAME *,char *,int);
+typedef X509_NAME *(*K_X509_get_subject_name_func) (X509 *);
+typedef X509_NAME *(*K_X509_get_issuer_name_func) (X509 *);
+typedef X509_LOOKUP *(*K_X509_STORE_add_lookup_func) (X509_STORE *, X509_LO=
OKUP_METHOD *);
+typedef X509_LOOKUP_METHOD *(*K_X509_LOOKUP_file_func)(void);
+typedef void (*K_X509_LOOKUP_free_func)(X509_LOOKUP *);
+typedef int (*K_X509_LOOKUP_ctrl_func)(X509_LOOKUP *, int, const char *, lo=
ng, char **);
+typedef void (*K_X509_STORE_CTX_init_func)(X509_STORE_CTX *, X509_STORE *,=20=
X509 *, STACK_OF(X509) *);
+typedef void (*K_CRYPTO_free_func)       (void *);
+typedef X509* (*K_X509_dup_func)         (X509 *);
+typedef BIO* (*K_BIO_new_fp_func)   (FILE *, int);
+typedef int  (*K_BIO_free_func)           (BIO *);
+typedef int (*K_PEM_ASN1_write_bio_func) (K_int_func,const char *,BIO *,cha=
r *, const EVP_CIPHER *,unsigned char *,int , pem_password_cb *, void *);
+typedef ASN1_METHOD* (*K_X509_asn1_meth_func) (void);
+typedef int (*K_ASN1_i2d_fp_func)(K_int_func,FILE *,unsigned char *);
+typedef int (*K_i2d_ASN1_HEADER_func)(ASN1_HEADER *, unsigned char **);
+typedef int (*K_X509_print_fp_func)  (FILE *, X509*);
+typedef int (*K_i2d_PKCS12_func)  (PKCS12*, unsigned char**);
+typedef int (*K_i2d_PKCS12_fp_func)  (FILE *, PKCS12*);
+typedef int (*K_PKCS12_newpass_func) (PKCS12*, char*, char*);
+typedef PKCS12* (*K_d2i_PKCS12_fp_func) (FILE*, PKCS12**);
+typedef PKCS12* (*K_PKCS12_new_func) (void);
+typedef void (*K_PKCS12_free_func) (PKCS12 *);
+typedef int (*K_PKCS12_parse_func) (PKCS12*, const char *, EVP_PKEY**, X509=
**, STACK_OF(X509)**);
+typedef void (*K_EVP_PKEY_free_func) (EVP_PKEY *);
+typedef EVP_PKEY* (*K_EVP_PKEY_new_func) ();
+typedef void (*K_X509_REQ_free_func) (X509_REQ *);
+typedef X509_REQ* (*K_X509_REQ_new_func) ();
+typedef int (*K_SSL_CTX_use_PrivateKey_func) (SSL_CTX*, EVP_PKEY*);
+typedef int (*K_SSL_CTX_use_certificate_func) (SSL_CTX*, X509*);
+typedef int (*K_SSL_get_error_func) (SSL*, int);
+typedef STACK_OF(X509)* (*K_SSL_get_peer_cert_chain_func) (SSL*);
+typedef void (*K_X509_STORE_CTX_set_chain_func) (X509_STORE_CTX *, STACK_OF=
(X509)*);
+typedef void (*K_X509_STORE_CTX_set_purpose_func) (X509_STORE_CTX *, int);
+typedef void (*K_sk_free_func) (STACK*);
+typedef int (*K_sk_num_func) (STACK*);
+typedef char* (*K_sk_pop_func) (STACK*);
+typedef char* (*K_sk_value_func) (STACK*, int);
+typedef STACK* (*K_sk_new_func) (K_int_func);
+typedef int (*K_sk_push_func) (STACK*, char*);
+typedef STACK* (*K_sk_dup_func) (STACK *);
+typedef char * (*K_i2s_ASN1_INTEGER_func) (X509V3_EXT_METHOD *, ASN1_INTEGE=
R *);
+typedef ASN1_INTEGER * (*K_X509_get_serialNumber_func) (X509 *);
+typedef EVP_PKEY *(*K_X509_get_pubkey_func)(X509 *);
+typedef int (*K_i2d_PublicKey_func)(EVP_PKEY *, unsigned char **);
+typedef int (*K_X509_check_private_key_func)(X509 *, EVP_PKEY *);
+typedef char * (*K_BN_bn2hex_func)(const BIGNUM *);
+typedef int (*K_X509_digest_func)(const X509 *,const EVP_MD *, unsigned cha=
r *, unsigned int *);
+typedef EVP_MD* (*K_EVP_md5_func)();
+typedef void (*K_ASN1_INTEGER_free_func)(ASN1_INTEGER *);
+typedef int (*K_OBJ_obj2nid_func)(ASN1_OBJECT *);
+typedef const char * (*K_OBJ_nid2ln_func)(int);
+typedef int (*K_X509_get_ext_count_func)(X509*);
+typedef int (*K_X509_get_ext_by_NID_func)(X509*, int, int);
+typedef int (*K_X509_get_ext_by_OBJ_func)(X509*,ASN1_OBJECT*,int);
+typedef X509_EXTENSION *(*K_X509_get_ext_func)(X509*, int loc);
+typedef X509_EXTENSION *(*K_X509_delete_ext_func)(X509*, int);
+typedef int (*K_X509_add_ext_func)(X509*, X509_EXTENSION*, int);
+typedef void *(*K_X509_get_ext_d2i_func)(X509*, int, int*, int*);
+typedef char *(*K_i2s_ASN1_OCTET_STRING_func)(X509V3_EXT_METHOD*, ASN1_OCTE=
T_STRING*);
+typedef int (*K_ASN1_BIT_STRING_get_bit_func)(ASN1_BIT_STRING*, int);
+typedef PKCS7 *(*K_PKCS7_new_func)();
+typedef void (*K_PKCS7_free_func)(PKCS7*);
+typedef void (*K_PKCS7_content_free_func)(PKCS7*);
+typedef int (*K_i2d_PKCS7_func)(PKCS7*, unsigned char**);
+typedef PKCS7 *(*K_d2i_PKCS7_func)(PKCS7**, unsigned char**,long);
+typedef int (*K_i2d_PKCS7_fp_func)(FILE*,PKCS7*);
+typedef PKCS7* (*K_d2i_PKCS7_fp_func)(FILE*,PKCS7**);
+typedef PKCS7* (*K_PKCS7_dup_func)(PKCS7*);
+typedef STACK_OF(X509_NAME) *(*K_SSL_load_client_CA_file_func)(const char*)=
;
+typedef STACK_OF(X509_INFO) *(*K_PEM_X509_INFO_read_func)(FILE*, STACK_OF(X=
509_INFO)*, pem_password_cb*, void*);
+typedef char *(*K_ASN1_d2i_fp_func)(K_str_func,K_str_func,FILE*,unsigned ch=
ar**);
+typedef X509 *(*K_X509_new_func)();
+typedef int (*K_X509_PURPOSE_get_count_func)();
+typedef int (*K_X509_PURPOSE_get_id_func)(X509_PURPOSE *);
+typedef int (*K_X509_check_purpose_func)(X509*,int,int);
+typedef X509_PURPOSE* (*K_X509_PURPOSE_get0_func)(int);
+typedef int (*K_EVP_PKEY_assign_func)(EVP_PKEY*, int, char*);
+typedef int (*K_X509_REQ_set_pubkey_func)(X509_REQ*, EVP_PKEY*);
+typedef RSA *(*K_RSA_generate_key_func)(int, unsigned long, K_RSA_generate_=
key_cb, void *);
+typedef int (*K_i2d_X509_REQ_fp_func)(FILE*, X509_REQ*);
+typedef void (*K_ERR_clear_error_func)();
+typedef void (*K_ERR_print_errors_fp_func)(FILE*);
+
+static K_SSL_connect_func K_SSL_connect =3D NULL;
+static K_SSL_accept_func K_SSL_accept =3D NULL;
+static K_SSL_read_func K_SSL_read =3D NULL;
+static K_SSL_write_func K_SSL_write =3D NULL;
+static K_SSL_new_func K_SSL_new =3D NULL;
+static K_SSL_free_func K_SSL_free =3D NULL;
+static K_SSL_shutdown_func K_SSL_shutdown =3D NULL;
+static K_SSL_CTX_new_func K_SSL_CTX_new =3D NULL;
+static K_SSL_CTX_free_func K_SSL_CTX_free =3D NULL;
+static K_SSL_set_fd_func K_SSL_set_fd =3D NULL;
+static K_SSL_pending_func K_SSL_pending =3D NULL;
+static K_SSL_peek_func K_SSL_peek =3D NULL;
+static K_SSL_CTX_set_cipher_list_func K_SSL_CTX_set_cipher_list =3D NULL;
+static K_SSL_CTX_set_verify_func K_SSL_CTX_set_verify =3D NULL;
+static K_SSL_use_certificate_func K_SSL_use_certificate =3D NULL;
+static K_SSL_get_current_cipher_func K_SSL_get_current_cipher =3D NULL;
+static K_SSL_ctrl_func K_SSL_ctrl =3D NULL;
+static K_RAND_egd_func K_RAND_egd =3D NULL;
+static K_RAND_file_name_func K_RAND_file_name =3D NULL;
+static K_RAND_load_file_func K_RAND_load_file =3D NULL;
+static K_RAND_write_file_func K_RAND_write_file =3D NULL;
+static K_TLSv1_client_method_func K_TLSv1_client_method =3D NULL;
+static K_SSLv2_client_method_func K_SSLv2_client_method =3D NULL;
+static K_SSLv3_client_method_func K_SSLv3_client_method =3D NULL;
+static K_SSLv23_client_method_func K_SSLv23_client_method =3D NULL;
+static K_SSL_get_peer_certificate_func K_SSL_get_peer_certificate =3D NULL;
+static K_SSL_CIPHER_get_bits_func K_SSL_CIPHER_get_bits =3D NULL;
+static K_SSL_CIPHER_get_version_func K_SSL_CIPHER_get_version =3D NULL;
+static K_SSL_CIPHER_get_name_func K_SSL_CIPHER_get_name =3D NULL;
+static K_SSL_CIPHER_description_func K_SSL_CIPHER_description =3D NULL;
+static K_d2i_X509_func K_d2i_X509 =3D NULL;
+static K_i2d_X509_func K_i2d_X509 =3D NULL;
+static K_X509_cmp_func K_X509_cmp =3D NULL;
+static K_X509_STORE_CTX_free_func K_X509_STORE_CTX_free =3D NULL;
+static K_X509_verify_cert_func K_X509_verify_cert =3D NULL;
+static K_X509_STORE_CTX_new_func K_X509_STORE_CTX_new =3D NULL;
+static K_X509_STORE_free_func K_X509_STORE_free =3D NULL;
+static K_X509_STORE_new_func K_X509_STORE_new =3D NULL;
+static K_X509_free_func K_X509_free =3D NULL;
+static K_X509_NAME_oneline_func K_X509_NAME_oneline =3D NULL;
+static K_X509_get_subject_name_func K_X509_get_subject_name =3D NULL;
+static K_X509_get_issuer_name_func K_X509_get_issuer_name =3D NULL;
+static K_X509_STORE_add_lookup_func K_X509_STORE_add_lookup =3D NULL;
+static K_X509_LOOKUP_file_func K_X509_LOOKUP_file =3D NULL;
+static K_X509_LOOKUP_free_func K_X509_LOOKUP_free =3D NULL;
+static K_X509_LOOKUP_ctrl_func K_X509_LOOKUP_ctrl =3D NULL;
+static K_X509_STORE_CTX_init_func K_X509_STORE_CTX_init =3D NULL;
+static K_CRYPTO_free_func K_CRYPTO_free =3D NULL;
+static K_X509_dup_func K_X509_dup =3D NULL;
+static K_BIO_new_fp_func K_BIO_new_fp =3D NULL;
+static K_BIO_free_func K_BIO_free =3D NULL;
+static K_PEM_ASN1_write_bio_func K_PEM_ASN1_write_bio =3D NULL;
+static K_X509_asn1_meth_func K_X509_asn1_meth =3D NULL;
+static K_ASN1_i2d_fp_func K_ASN1_i2d_fp =3D NULL;
+static K_i2d_ASN1_HEADER_func K_i2d_ASN1_HEADER =3D NULL;
+static K_X509_print_fp_func K_X509_print_fp =3D NULL;
+static K_i2d_PKCS12_func K_i2d_PKCS12 =3D NULL;
+static K_i2d_PKCS12_fp_func K_i2d_PKCS12_fp =3D NULL;
+static K_PKCS12_newpass_func K_PKCS12_newpass =3D NULL;
+static K_d2i_PKCS12_fp_func K_d2i_PKCS12_fp =3D NULL;
+static K_PKCS12_new_func K_PKCS12_new =3D NULL;
+static K_PKCS12_free_func K_PKCS12_free =3D NULL;
+static K_PKCS12_parse_func K_PKCS12_parse =3D NULL;
+static K_EVP_PKEY_free_func K_EVP_PKEY_free =3D NULL;
+static K_EVP_PKEY_new_func K_EVP_PKEY_new =3D NULL;
+static K_X509_REQ_free_func K_X509_REQ_free =3D NULL;
+static K_X509_REQ_new_func K_X509_REQ_new =3D NULL;
+static K_SSL_CTX_use_PrivateKey_func K_SSL_CTX_use_PrivateKey =3D NULL;
+static K_SSL_CTX_use_certificate_func K_SSL_CTX_use_certificate =3D NULL;
+static K_SSL_get_error_func K_SSL_get_error =3D NULL;
+static K_SSL_get_peer_cert_chain_func K_SSL_get_peer_cert_chain =3D NULL;
+static K_X509_STORE_CTX_set_chain_func K_X509_STORE_CTX_set_chain =3D NULL;
+static K_X509_STORE_CTX_set_purpose_func K_X509_STORE_CTX_set_purpose =3D N=
ULL;
+static K_sk_free_func K_sk_free =3D NULL;
+static K_sk_num_func K_sk_num =3D NULL;
+static K_sk_pop_func K_sk_pop =3D NULL;
+static K_sk_value_func K_sk_value =3D NULL;
+static K_sk_new_func K_sk_new =3D NULL;
+static K_sk_push_func K_sk_push =3D NULL;
+static K_sk_dup_func K_sk_dup =3D NULL;
+static K_i2s_ASN1_INTEGER_func K_i2s_ASN1_INTEGER =3D NULL;
+static K_X509_get_serialNumber_func K_X509_get_serialNumber =3D NULL;
+static K_X509_get_pubkey_func K_X509_get_pubkey =3D NULL;
+static K_i2d_PublicKey_func K_i2d_PublicKey =3D NULL;
+static K_X509_check_private_key_func K_X509_check_private_key =3D NULL;
+static K_BN_bn2hex_func K_BN_bn2hex =3D NULL;
+static K_X509_digest_func K_X509_digest =3D NULL;
+static K_EVP_md5_func K_EVP_md5 =3D NULL;
+static K_ASN1_INTEGER_free_func K_ASN1_INTEGER_free =3D NULL;
+static K_OBJ_obj2nid_func K_OBJ_obj2nid =3D NULL;
+static K_OBJ_nid2ln_func K_OBJ_nid2ln =3D NULL;
+static K_X509_get_ext_count_func K_X509_get_ext_count =3D NULL;
+static K_X509_get_ext_by_NID_func K_X509_get_ext_by_NID =3D NULL;
+static K_X509_get_ext_by_OBJ_func K_X509_get_ext_by_OBJ =3D NULL;
+static K_X509_get_ext_func K_X509_get_ext =3D NULL;
+static K_X509_delete_ext_func K_X509_delete_ext =3D NULL;
+static K_X509_add_ext_func K_X509_add_ext =3D NULL;
+static K_X509_get_ext_d2i_func K_X509_get_ext_d2i =3D NULL;
+static K_i2s_ASN1_OCTET_STRING_func K_i2s_ASN1_OCTET_STRING =3D NULL;
+static K_ASN1_BIT_STRING_get_bit_func K_ASN1_BIT_STRING_get_bit =3D NULL;
+static K_PKCS7_new_func K_PKCS7_new =3D NULL;
+static K_PKCS7_free_func K_PKCS7_free =3D NULL;
+static K_PKCS7_content_free_func K_PKCS7_content_free =3D NULL;
+static K_i2d_PKCS7_func K_i2d_PKCS7 =3D NULL;
+static K_d2i_PKCS7_func K_d2i_PKCS7 =3D NULL;
+static K_i2d_PKCS7_fp_func K_i2d_PKCS7_fp =3D NULL;
+static K_d2i_PKCS7_fp_func K_d2i_PKCS7_fp =3D NULL;
+static K_PKCS7_dup_func K_PKCS7_dup =3D NULL;
+static K_SSL_load_client_CA_file_func K_SSL_load_client_CA_file =3D NULL;
+static K_PEM_X509_INFO_read_func K_PEM_X509_INFO_read =3D NULL;
+static K_ASN1_d2i_fp_func K_ASN1_d2i_fp =3D NULL;
+static K_X509_new_func K_X509_new =3D NULL;
+static K_X509_PURPOSE_get_count_func K_X509_PURPOSE_get_count =3D NULL;
+static K_X509_PURPOSE_get_id_func K_X509_PURPOSE_get_id =3D NULL;
+static K_X509_check_purpose_func K_X509_check_purpose =3D NULL;
+static K_X509_PURPOSE_get0_func K_X509_PURPOSE_get0 =3D NULL;
+static K_EVP_PKEY_assign_func K_EVP_PKEY_assign =3D NULL;
+static K_X509_REQ_set_pubkey_func K_X509_REQ_set_pubkey =3D NULL;
+static K_RSA_generate_key_func K_RSA_generate_key =3D NULL;
+static K_i2d_X509_REQ_fp_func K_i2d_X509_REQ_fp =3D NULL;
+static K_ERR_clear_error_func K_ERR_clear_error =3D NULL;
+static K_ERR_print_errors_fp_func K_ERR_print_errors_fp =3D NULL;
 #endif
 };
=20
@@ -315,98 +439,97 @@
=20
    if (_cryptoLib) {
 #ifdef HAVE_SSL=20
-      K_X509_free =3D (void (*) (X509 *)) _cryptoLib->symbol("X509_free");
-      K_RAND_egd =3D (int (*)(const char *)) _cryptoLib->symbol("RAND_egd")=
;
-      K_RAND_load_file =3D (int (*)(const char *, long)) _cryptoLib->symbol=
("RAND_load_file");
-      K_RAND_file_name =3D (const char* (*)(char *, size_t)) _cryptoLib->sy=
mbol("RAND_file_name");
-      K_RAND_write_file =3D (int (*)(const char *)) _cryptoLib->symbol("RAN=
D_write_file");
-      K_CRYPTO_free =3D (void (*) (void *)) _cryptoLib->symbol("CRYPTO_free=
");
-      K_d2i_X509 =3D (X509 * (*)(X509 **,unsigned char **,long)) _cryptoLib=
->symbol("d2i_X509");
-      K_i2d_X509 =3D (int (*)(X509 *,unsigned char **)) _cryptoLib->symbol(=
"i2d_X509");
-      K_X509_cmp =3D (int (*)(X509 *, X509 *)) _cryptoLib->symbol("X509_cmp=
");
-      K_X509_STORE_CTX_new =3D (X509_STORE_CTX * (*) (void)) _cryptoLib->sy=
mbol("X509_STORE_CTX_new");
-      K_X509_STORE_CTX_free =3D (void (*) (X509_STORE_CTX *)) _cryptoLib->s=
ymbol("X509_STORE_CTX_free");
-      K_X509_verify_cert =3D (int (*) (X509_STORE_CTX *)) _cryptoLib->symbo=
l("X509_verify_cert");
-      K_X509_STORE_new =3D (X509_STORE * (*) (void)) _cryptoLib->symbol("X5=
09_STORE_new");
-      K_X509_STORE_free =3D (void (*) (X509_STORE *)) _cryptoLib->symbol("X=
509_STORE_free");
-      K_X509_NAME_oneline =3D (char * (*) (X509_NAME *,char *,int)) _crypto=
Lib->symbol("X509_NAME_oneline");
-      K_X509_get_subject_name =3D (X509_NAME * (*) (X509 *)) _cryptoLib->sy=
mbol("X509_get_subject_name");
-      K_X509_get_issuer_name =3D (X509_NAME * (*) (X509 *)) _cryptoLib->sym=
bol("X509_get_issuer_name");
-      K_X509_STORE_add_lookup =3D (X509_LOOKUP *(*) (X509_STORE *, X509_LOO=
KUP_METHOD *)) _cryptoLib->symbol("X509_STORE_add_lookup");
-      K_X509_LOOKUP_file =3D (X509_LOOKUP_METHOD *(*)(void)) _cryptoLib->sy=
mbol("X509_LOOKUP_file");
-      K_X509_LOOKUP_free =3D (void (*)(X509_LOOKUP *)) _cryptoLib->symbol("=
X509_LOOKUP_free");
-      K_X509_LOOKUP_ctrl =3D (int (*)(X509_LOOKUP *, int, const char *, lon=
g, char **)) _cryptoLib->symbol("X509_LOOKUP_ctrl");
-      K_X509_STORE_CTX_init =3D (void (*)(X509_STORE_CTX *, X509_STORE *, X=
509 *, STACK_OF(X509) *)) _cryptoLib->symbol("X509_STORE_CTX_init");
-      K_X509_dup =3D (X509* (*)(X509*)) _cryptoLib->symbol("X509_dup");
-      K_BIO_new_fp =3D (BIO* (*)(FILE*, int)) _cryptoLib->symbol("BIO_new_f=
p");
-      K_BIO_free =3D (int (*)(BIO*)) _cryptoLib->symbol("BIO_free");
-      K_PEM_ASN1_write_bio =3D (int (*)(int (*)(), const char *,BIO*, char*=
, const EVP_CIPHER *, unsigned char *, int, pem_password_cb *, void *)) _cry=
ptoLib->symbol("PEM_ASN1_write_bio");
-      K_X509_asn1_meth =3D (ASN1_METHOD* (*)(void)) _cryptoLib->symbol("X50=
9_asn1_meth");
-      K_ASN1_i2d_fp =3D (int (*)(int (*)(), FILE*, unsigned char *)) _crypt=
oLib->symbol("ASN1_i2d_fp");
-      K_i2d_ASN1_HEADER =3D (int (*)(ASN1_HEADER *, unsigned char **)) _cry=
ptoLib->symbol("i2d_ASN1_HEADER");
-      K_X509_print_fp =3D (int (*)(FILE*, X509*)) _cryptoLib->symbol("X509_=
print_fp");
-      K_i2d_PKCS12 =3D (int (*)(PKCS12*, unsigned char**)) _cryptoLib->symb=
ol("i2d_PKCS12");
-      K_i2d_PKCS12_fp =3D (int (*)(FILE *, PKCS12*)) _cryptoLib->symbol("i2=
d_PKCS12_fp");
-      K_PKCS12_newpass =3D (int (*)(PKCS12*, char*, char*)) _cryptoLib->sym=
bol("PKCS12_newpass");
-      K_d2i_PKCS12_fp =3D (PKCS12* (*)(FILE*, PKCS12**)) _cryptoLib->symbol=
("d2i_PKCS12_fp");
-      K_PKCS12_new =3D (PKCS12* (*)()) _cryptoLib->symbol("PKCS12_new");
-      K_PKCS12_free =3D (void (*)(PKCS12 *)) _cryptoLib->symbol("PKCS12_fre=
e");
-      K_PKCS12_parse =3D (int (*)(PKCS12*, const char *, EVP_PKEY**,
-                X509**, STACK_OF(X509)**)) _cryptoLib->symbol("PKCS12_parse=
");
-      K_EVP_PKEY_free =3D (void (*) (EVP_PKEY *)) _cryptoLib->symbol("EVP_P=
KEY_free");
-      K_EVP_PKEY_new =3D (EVP_PKEY* (*)()) _cryptoLib->symbol("EVP_PKEY_new=
");
-      K_X509_REQ_free =3D (void (*)(X509_REQ*)) _cryptoLib->symbol("X509_RE=
Q_free");
-      K_X509_REQ_new =3D (X509_REQ* (*)()) _cryptoLib->symbol("X509_REQ_new=
");
-      K_X509_STORE_CTX_set_chain =3D (void (*)(X509_STORE_CTX *, STACK_OF(X=
509)*)) _cryptoLib->symbol("X509_STORE_CTX_set_chain");
-      K_X509_STORE_CTX_set_purpose =3D (void (*)(X509_STORE_CTX *, int)) _c=
ryptoLib->symbol("X509_STORE_CTX_set_purpose");
-      K_sk_free =3D (void (*) (STACK *)) _cryptoLib->symbol("sk_free");
-      K_sk_num =3D (int (*) (STACK *)) _cryptoLib->symbol("sk_num");
-      K_sk_pop =3D (char* (*) (STACK *)) _cryptoLib->symbol("sk_pop");
-      K_sk_value =3D (char* (*) (STACK *, int)) _cryptoLib->symbol("sk_valu=
e");
-      K_sk_new =3D (STACK* (*) (int (*)())) _cryptoLib->symbol("sk_new");
-      K_sk_push =3D (int (*) (STACK*, char*)) _cryptoLib->symbol("sk_push")=
;
-      K_sk_dup =3D (STACK* (*) (STACK *)) _cryptoLib->symbol("sk_dup");
-      K_i2s_ASN1_INTEGER =3D (char *(*) (X509V3_EXT_METHOD *, ASN1_INTEGER=20=
*)) _cryptoLib->symbol("i2s_ASN1_INTEGER");
-      K_X509_get_serialNumber =3D (ASN1_INTEGER * (*) (X509 *)) _cryptoLib-=
>symbol("X509_get_serialNumber");
-      K_X509_get_pubkey =3D (EVP_PKEY *(*)(X509 *)) _cryptoLib->symbol("X50=
9_get_pubkey");
-      K_i2d_PublicKey =3D (int (*)(EVP_PKEY *, unsigned char **)) _cryptoLi=
b->symbol("i2d_PublicKey");
-      K_X509_check_private_key =3D (int (*)(X509 *, EVP_PKEY *)) _cryptoLib=
->symbol("X509_check_private_key");
-      K_BN_bn2hex =3D (char *(*)(const BIGNUM *)) _cryptoLib->symbol("BN_bn=
2hex");
-      K_X509_digest =3D (int (*)(const X509 *,const EVP_MD *, unsigned char=
 *, unsigned int *)) _cryptoLib->symbol("X509_digest");
-      K_EVP_md5 =3D (EVP_MD *(*)()) _cryptoLib->symbol("EVP_md5");
-      K_ASN1_INTEGER_free =3D (void (*)(ASN1_INTEGER *)) _cryptoLib->symbol=
("ASN1_INTEGER_free");
-      K_OBJ_obj2nid =3D (int (*)(ASN1_OBJECT *)) _cryptoLib->symbol("OBJ_ob=
j2nid");
-      K_OBJ_nid2ln =3D (const char *(*)(int)) _cryptoLib->symbol("OBJ_nid2l=
n");
-      K_X509_get_ext_count =3D (int (*)(X509*)) _cryptoLib->symbol("X509_ge=
t_ext_count");
-      K_X509_get_ext_by_NID =3D (int (*)(X509*,int,int)) _cryptoLib->symbol=
("X509_get_ext_by_NID");
-      K_X509_get_ext_by_OBJ =3D (int (*)(X509*,ASN1_OBJECT*,int)) _cryptoLi=
b->symbol("X509_get_ext_by_OBJ");
-      K_X509_get_ext =3D (X509_EXTENSION* (*)(X509*,int)) _cryptoLib->symbo=
l("X509_get_ext");
-      K_X509_delete_ext =3D (X509_EXTENSION* (*)(X509*,int)) _cryptoLib->sy=
mbol("X509_delete_ext");
-      K_X509_add_ext =3D (int (*)(X509*,X509_EXTENSION*,int)) _cryptoLib->s=
ymbol("X509_add_ext");
-      K_X509_get_ext_d2i =3D (void* (*)(X509*,int,int*,int*)) _cryptoLib->s=
ymbol("X509_get_ext_d2i");
-      K_i2s_ASN1_OCTET_STRING =3D (char *(*)(X509V3_EXT_METHOD*,ASN1_OCTET_=
STRING*)) _cryptoLib->symbol("i2s_ASN1_OCTET_STRING");
-      K_ASN1_BIT_STRING_get_bit =3D (int (*)(ASN1_BIT_STRING*,int)) _crypto=
Lib->symbol("ASN1_BIT_STRING_get_bit");
-      K_PKCS7_new =3D (PKCS7 *(*)()) _cryptoLib->symbol("PKCS7_new");
-      K_PKCS7_free =3D (void (*)(PKCS7*)) _cryptoLib->symbol("PKCS7_free");
-      K_PKCS7_content_free =3D (void (*)(PKCS7*)) _cryptoLib->symbol("PKCS7=
_content_free");
-      K_i2d_PKCS7 =3D (int (*)(PKCS7*, unsigned char**)) _cryptoLib->symbol=
("i2d_PKCS7");
-      K_i2d_PKCS7_fp =3D (int (*)(FILE*,PKCS7*)) _cryptoLib->symbol("i2d_PK=
CS7_fp");
-      K_d2i_PKCS7 =3D (PKCS7* (*)(PKCS7**,unsigned char**,long)) _cryptoLib=
->symbol("d2i_PKCS7");
-      K_d2i_PKCS7_fp =3D (PKCS7 *(*)(FILE *,PKCS7**)) _cryptoLib->symbol("d=
2i_PKCS7_fp");
-      K_PKCS7_dup =3D (PKCS7* (*)(PKCS7*)) _cryptoLib->symbol("PKCS7_dup");
-      K_PEM_X509_INFO_read =3D (STACK_OF(X509_INFO) *(*)(FILE*, STACK_OF(X5=
09_INFO)*, pem_password_cb*, void *)) _cryptoLib->symbol("PEM_X509_INFO_read=
");
-      K_ASN1_d2i_fp =3D (char *(*)(char *(*)(),char *(*)(),FILE*,unsigned c=
har**)) _cryptoLib->symbol("ASN1_d2i_fp");
-      K_X509_new =3D (X509 *(*)()) _cryptoLib->symbol("X509_new");
-      K_X509_PURPOSE_get_count =3D (int (*)()) _cryptoLib->symbol("X509_PUR=
POSE_get_count");
-      K_X509_PURPOSE_get_id =3D (int (*)(X509_PURPOSE *)) _cryptoLib->symbo=
l("X509_PURPOSE_get_id");
-      K_X509_check_purpose =3D (int (*)(X509*,int,int)) _cryptoLib->symbol(=
"X509_check_purpose");
-      K_X509_PURPOSE_get0 =3D (X509_PURPOSE *(*)(int)) _cryptoLib->symbol("=
X509_PURPOSE_get0");
-      K_EVP_PKEY_assign =3D (int (*)(EVP_PKEY*, int, char*)) _cryptoLib->sy=
mbol("EVP_PKEY_assign");
-      K_X509_REQ_set_pubkey =3D (int (*)(X509_REQ*, EVP_PKEY*)) _cryptoLib-=
>symbol("X509_REQ_set_pubkey");
-      K_RSA_generate_key =3D (RSA* (*)(int, unsigned long, void (*)(int,int=
,void *), void *)) _cryptoLib->symbol("RSA_generate_key");
-      K_i2d_X509_REQ_fp =3D (int (*)(FILE *, X509_REQ *)) _cryptoLib->symbo=
l("i2d_X509_REQ_fp");
-      K_ERR_clear_error =3D (void (*)()) _cryptoLib->symbol("ERR_clear_erro=
r");
-      K_ERR_print_errors_fp =3D (void (*)(FILE*)) _cryptoLib->symbol("ERR_p=
rint_errors_fp");
+      K_X509_free =3D (K_X509_free_func) _cryptoLib->symbol("X509_free");
+      K_RAND_egd =3D (K_RAND_egd_func) _cryptoLib->symbol("RAND_egd");
+      K_RAND_load_file =3D (K_RAND_load_file_func) _cryptoLib->symbol("RAND=
_load_file");
+      K_RAND_file_name =3D (K_RAND_file_name_func) _cryptoLib->symbol("RAND=
_file_name");
+      K_RAND_write_file =3D (K_RAND_write_file_func) _cryptoLib->symbol("RA=
ND_write_file");
+      K_CRYPTO_free =3D (K_CRYPTO_free_func) _cryptoLib->symbol("CRYPTO_fre=
e");
+      K_d2i_X509 =3D (K_d2i_X509_func) _cryptoLib->symbol("d2i_X509");
+      K_i2d_X509 =3D (K_i2d_X509_func) _cryptoLib->symbol("i2d_X509");
+      K_X509_cmp =3D (K_X509_cmp_func) _cryptoLib->symbol("X509_cmp");
+      K_X509_STORE_CTX_new =3D (K_X509_STORE_CTX_new_func) _cryptoLib->symb=
ol("X509_STORE_CTX_new");
+      K_X509_STORE_CTX_free =3D (K_X509_STORE_CTX_free_func) _cryptoLib->sy=
mbol("X509_STORE_CTX_free");
+      K_X509_verify_cert =3D (K_X509_verify_cert_func) _cryptoLib->symbol("=
X509_verify_cert");
+      K_X509_STORE_new =3D (K_X509_STORE_new_func) _cryptoLib->symbol("X509=
_STORE_new");
+      K_X509_STORE_free =3D (K_X509_STORE_free_func) _cryptoLib->symbol("X5=
09_STORE_free");
+      K_X509_NAME_oneline =3D (K_X509_NAME_oneline_func) _cryptoLib->symbol=
("X509_NAME_oneline");
+      K_X509_get_subject_name =3D (K_X509_get_subject_name_func) _cryptoLib=
->symbol("X509_get_subject_name");
+      K_X509_get_issuer_name =3D (K_X509_get_issuer_name_func) _cryptoLib->=
symbol("X509_get_issuer_name");
+      K_X509_STORE_add_lookup =3D (K_X509_STORE_add_lookup_func) _cryptoLib=
->symbol("X509_STORE_add_lookup");
+      K_X509_LOOKUP_file =3D (K_X509_LOOKUP_file_func) _cryptoLib->symbol("=
X509_LOOKUP_file");
+      K_X509_LOOKUP_free =3D (K_X509_LOOKUP_free_func) _cryptoLib->symbol("=
X509_LOOKUP_free");
+      K_X509_LOOKUP_ctrl =3D (K_X509_LOOKUP_ctrl_func) _cryptoLib->symbol("=
X509_LOOKUP_ctrl");
+      K_X509_STORE_CTX_init =3D (K_X509_STORE_CTX_init_func) _cryptoLib->sy=
mbol("X509_STORE_CTX_init");
+      K_X509_dup =3D (K_X509_dup_func) _cryptoLib->symbol("X509_dup");
+      K_BIO_new_fp =3D (K_BIO_new_fp_func) _cryptoLib->symbol("BIO_new_fp")=
;
+      K_BIO_free =3D (K_BIO_free_func) _cryptoLib->symbol("BIO_free");
+      K_PEM_ASN1_write_bio =3D (K_PEM_ASN1_write_bio_func) _cryptoLib->symb=
ol("PEM_ASN1_write_bio");
+      K_X509_asn1_meth =3D (K_X509_asn1_meth_func) _cryptoLib->symbol("X509=
_asn1_meth");
+      K_ASN1_i2d_fp =3D (K_ASN1_i2d_fp_func) _cryptoLib->symbol("ASN1_i2d_f=
p");
+      K_i2d_ASN1_HEADER =3D (K_i2d_ASN1_HEADER_func) _cryptoLib->symbol("i2=
d_ASN1_HEADER");
+      K_X509_print_fp =3D (K_X509_print_fp_func) _cryptoLib->symbol("X509_p=
rint_fp");
+      K_i2d_PKCS12 =3D (K_i2d_PKCS12_func) _cryptoLib->symbol("i2d_PKCS12")=
;
+      K_i2d_PKCS12_fp =3D (K_i2d_PKCS12_fp_func) _cryptoLib->symbol("i2d_PK=
CS12_fp");
+      K_PKCS12_newpass =3D (K_PKCS12_newpass_func) _cryptoLib->symbol("PKCS=
12_newpass");
+      K_d2i_PKCS12_fp =3D (K_d2i_PKCS12_fp_func) _cryptoLib->symbol("d2i_PK=
CS12_fp");
+      K_PKCS12_new =3D (K_PKCS12_new_func) _cryptoLib->symbol("PKCS12_new")=
;
+      K_PKCS12_free =3D (K_PKCS12_free_func) _cryptoLib->symbol("PKCS12_fre=
e");
+      K_PKCS12_parse =3D (K_PKCS12_parse_func) _cryptoLib->symbol("PKCS12_p=
arse");
+      K_EVP_PKEY_free =3D (K_EVP_PKEY_free_func) _cryptoLib->symbol("EVP_PK=
EY_free");
+      K_EVP_PKEY_new =3D (K_EVP_PKEY_new_func) _cryptoLib->symbol("EVP_PKEY=
_new");
+      K_X509_REQ_free =3D (K_X509_REQ_free_func) _cryptoLib->symbol("X509_R=
EQ_free");
+      K_X509_REQ_new =3D (K_X509_REQ_new_func) _cryptoLib->symbol("X509_REQ=
_new");
+      K_X509_STORE_CTX_set_chain =3D (K_X509_STORE_CTX_set_chain_func) _cry=
ptoLib->symbol("X509_STORE_CTX_set_chain");
+      K_X509_STORE_CTX_set_purpose =3D (K_X509_STORE_CTX_set_purpose_func)=20=
_cryptoLib->symbol("X509_STORE_CTX_set_purpose");
+      K_sk_free =3D (K_sk_free_func) _cryptoLib->symbol("sk_free");
+      K_sk_num =3D (K_sk_num_func) _cryptoLib->symbol("sk_num");
+      K_sk_pop =3D (K_sk_pop_func) _cryptoLib->symbol("sk_pop");
+      K_sk_value =3D (K_sk_value_func) _cryptoLib->symbol("sk_value");
+      K_sk_new =3D (K_sk_new_func) _cryptoLib->symbol("sk_new");
+      K_sk_push =3D (K_sk_push_func) _cryptoLib->symbol("sk_push");
+      K_sk_dup =3D (K_sk_dup_func) _cryptoLib->symbol("sk_dup");
+      K_i2s_ASN1_INTEGER =3D (K_i2s_ASN1_INTEGER_func) _cryptoLib->symbol("=
i2s_ASN1_INTEGER");
+      K_X509_get_serialNumber =3D (K_X509_get_serialNumber_func) _cryptoLib=
->symbol("X509_get_serialNumber");
+      K_X509_get_pubkey =3D (K_X509_get_pubkey_func) _cryptoLib->symbol("X5=
09_get_pubkey");
+      K_i2d_PublicKey =3D (K_i2d_PublicKey_func) _cryptoLib->symbol("i2d_Pu=
blicKey");
+      K_X509_check_private_key =3D (K_X509_check_private_key_func) _cryptoL=
ib->symbol("X509_check_private_key");
+      K_BN_bn2hex =3D (K_BN_bn2hex_func) _cryptoLib->symbol("BN_bn2hex");
+      K_X509_digest =3D (K_X509_digest_func) _cryptoLib->symbol("X509_diges=
t");
+      K_EVP_md5 =3D (K_EVP_md5_func) _cryptoLib->symbol("EVP_md5");
+      K_ASN1_INTEGER_free =3D (K_ASN1_INTEGER_free_func) _cryptoLib->symbol=
("ASN1_INTEGER_free");
+      K_OBJ_obj2nid =3D (K_OBJ_obj2nid_func) _cryptoLib->symbol("OBJ_obj2ni=
d");
+      K_OBJ_nid2ln =3D (K_OBJ_nid2ln_func) _cryptoLib->symbol("OBJ_nid2ln")=
;
+      K_X509_get_ext_count =3D (K_X509_get_ext_count_func) _cryptoLib->symb=
ol("X509_get_ext_count");
+      K_X509_get_ext_by_NID =3D (K_X509_get_ext_by_NID_func) _cryptoLib->sy=
mbol("X509_get_ext_by_NID");
+      K_X509_get_ext_by_OBJ =3D (K_X509_get_ext_by_OBJ_func) _cryptoLib->sy=
mbol("X509_get_ext_by_OBJ");
+      K_X509_get_ext =3D (K_X509_get_ext_func) _cryptoLib->symbol("X509_get=
_ext");
+      K_X509_delete_ext =3D (K_X509_delete_ext_func) _cryptoLib->symbol("X5=
09_delete_ext");
+      K_X509_add_ext =3D (K_X509_add_ext_func) _cryptoLib->symbol("X509_add=
_ext");
+      K_X509_get_ext_d2i =3D (K_X509_get_ext_d2i_func) _cryptoLib->symbol("=
X509_get_ext_d2i");
+      K_i2s_ASN1_OCTET_STRING =3D (K_i2s_ASN1_OCTET_STRING_func) _cryptoLib=
->symbol("i2s_ASN1_OCTET_STRING");
+      K_ASN1_BIT_STRING_get_bit =3D (K_ASN1_BIT_STRING_get_bit_func) _crypt=
oLib->symbol("ASN1_BIT_STRING_get_bit");
+      K_PKCS7_new =3D (K_PKCS7_new_func) _cryptoLib->symbol("PKCS7_new");
+      K_PKCS7_free =3D (K_PKCS7_free_func) _cryptoLib->symbol("PKCS7_free")=
;
+      K_PKCS7_content_free =3D (K_PKCS7_content_free_func) _cryptoLib->symb=
ol("PKCS7_content_free");
+      K_i2d_PKCS7 =3D (K_i2d_PKCS7_func) _cryptoLib->symbol("i2d_PKCS7");
+      K_i2d_PKCS7_fp =3D (K_i2d_PKCS7_fp_func) _cryptoLib->symbol("i2d_PKCS=
7_fp");
+      K_d2i_PKCS7 =3D (K_d2i_PKCS7_func) _cryptoLib->symbol("d2i_PKCS7");
+      K_d2i_PKCS7_fp =3D (K_d2i_PKCS7_fp_func) _cryptoLib->symbol("d2i_PKCS=
7_fp");
+      K_PKCS7_dup =3D (K_PKCS7_dup_func) _cryptoLib->symbol("PKCS7_dup");
+      K_PEM_X509_INFO_read =3D (K_PEM_X509_INFO_read_func) _cryptoLib->symb=
ol("PEM_X509_INFO_read");
+      K_ASN1_d2i_fp =3D (K_ASN1_d2i_fp_func) _cryptoLib->symbol("ASN1_d2i_f=
p");
+      K_X509_new =3D (K_X509_new_func) _cryptoLib->symbol("X509_new");
+      K_X509_PURPOSE_get_count =3D (K_X509_PURPOSE_get_count_func) _cryptoL=
ib->symbol("X509_PURPOSE_get_count");
+      K_X509_PURPOSE_get_id =3D (K_X509_PURPOSE_get_id_func) _cryptoLib->sy=
mbol("X509_PURPOSE_get_id");
+      K_X509_check_purpose =3D (K_X509_check_purpose_func) _cryptoLib->symb=
ol("X509_check_purpose");
+      K_X509_PURPOSE_get0 =3D (K_X509_PURPOSE_get0_func) _cryptoLib->symbol=
("X509_PURPOSE_get0");
+      K_EVP_PKEY_assign =3D (K_EVP_PKEY_assign_func) _cryptoLib->symbol("EV=
P_PKEY_assign");
+      K_X509_REQ_set_pubkey =3D (K_X509_REQ_set_pubkey_func) _cryptoLib->sy=
mbol("X509_REQ_set_pubkey");
+      K_RSA_generate_key =3D (K_RSA_generate_key_func) _cryptoLib->symbol("=
RSA_generate_key");
+      K_i2d_X509_REQ_fp =3D (K_i2d_X509_REQ_fp_func) _cryptoLib->symbol("i2=
d_X509_REQ_fp");
+      K_ERR_clear_error =3D (K_ERR_clear_error_func) _cryptoLib->symbol("ER=
R_clear_error");
+      K_ERR_print_errors_fp =3D (K_ERR_print_errors_fp_func) _cryptoLib->sy=
mbol("ERR_print_errors_fp");
 #endif
    }
=20
@@ -440,42 +563,37 @@
    if (_sslLib) {
 #ifdef HAVE_SSL=20
       // stand back from your monitor and look at this.  it's fun! :)
-      K_SSL_connect =3D (int (*)(SSL *)) _sslLib->symbol("SSL_connect");
-      K_SSL_accept =3D (int (*)(SSL *)) _sslLib->symbol("SSL_accept");
-      K_SSL_read =3D (int (*)(SSL *, void *, int)) _sslLib->symbol("SSL_rea=
d");
-      K_SSL_write =3D (int (*)(SSL *, const void *, int))=20
-                            _sslLib->symbol("SSL_write");
-      K_SSL_new =3D (SSL* (*)(SSL_CTX *)) _sslLib->symbol("SSL_new");
-      K_SSL_free =3D (void (*)(SSL *)) _sslLib->symbol("SSL_free");
-      K_SSL_shutdown =3D (int (*)(SSL *)) _sslLib->symbol("SSL_shutdown");
-      K_SSL_CTX_new =3D (SSL_CTX* (*)(SSL_METHOD*)) _sslLib->symbol("SSL_CT=
X_new");
-      K_SSL_CTX_free =3D (void (*)(SSL_CTX*)) _sslLib->symbol("SSL_CTX_free=
");
-      K_SSL_set_fd =3D (int (*)(SSL *, int)) _sslLib->symbol("SSL_set_fd");
-      K_SSL_pending =3D (int (*)(SSL *)) _sslLib->symbol("SSL_pending");
-      K_SSL_CTX_set_cipher_list =3D (int (*)(SSL_CTX *, const char *))
-                                  _sslLib->symbol("SSL_CTX_set_cipher_list"=
);
-      K_SSL_CTX_set_verify =3D (void (*)(SSL_CTX*, int, int (*)(int, X509_S=
TORE_CTX*))) _sslLib->symbol("SSL_CTX_set_verify");
-      K_SSL_use_certificate =3D (int (*)(SSL*, X509*))=20
-                                  _sslLib->symbol("SSL_CTX_use_certificate"=
);
-      K_SSL_get_current_cipher =3D (SSL_CIPHER *(*)(SSL *))=20
-                                  _sslLib->symbol("SSL_get_current_cipher")=
;
-      K_SSL_ctrl =3D (long (*)(SSL * ,int, long, char *))
-                                  _sslLib->symbol("SSL_ctrl");
-      K_TLSv1_client_method =3D (SSL_METHOD *(*)()) _sslLib->symbol("TLSv1_=
client_method");
-      K_SSLv2_client_method =3D (SSL_METHOD *(*)()) _sslLib->symbol("SSLv2_=
client_method");
-      K_SSLv3_client_method =3D (SSL_METHOD *(*)()) _sslLib->symbol("SSLv3_=
client_method");
-      K_SSLv23_client_method =3D (SSL_METHOD *(*)()) _sslLib->symbol("SSLv2=
3_client_method");
-      K_SSL_get_peer_certificate =3D (X509 *(*)(SSL *)) _sslLib->symbol("SS=
L_get_peer_certificate");
-      K_SSL_CIPHER_get_bits =3D (int (*)(SSL_CIPHER *,int *)) _sslLib->symb=
ol("SSL_CIPHER_get_bits");
-      K_SSL_CIPHER_get_version =3D (char * (*)(SSL_CIPHER *)) _sslLib->symb=
ol("SSL_CIPHER_get_version");
-      K_SSL_CIPHER_get_name =3D (const char * (*)(SSL_CIPHER *)) _sslLib->s=
ymbol("SSL_CIPHER_get_name");
-      K_SSL_CIPHER_description =3D (char * (*)(SSL_CIPHER *, char *, int))=20=
_sslLib->symbol("SSL_CIPHER_description");
-      K_SSL_CTX_use_PrivateKey =3D (int (*)(SSL_CTX*, EVP_PKEY*)) _sslLib->=
symbol("SSL_CTX_use_PrivateKey");
-      K_SSL_CTX_use_certificate =3D (int (*)(SSL_CTX*, X509*)) _sslLib->sym=
bol("SSL_CTX_use_certificate");
-      K_SSL_get_error =3D (int (*)(SSL*, int)) _sslLib->symbol("SSL_get_err=
or");
-      K_SSL_get_peer_cert_chain =3D (STACK_OF(X509)* (*)(SSL*)) _sslLib->sy=
mbol("SSL_get_peer_cert_chain");
-      K_SSL_load_client_CA_file =3D (STACK_OF(X509_NAME)* (*)(const char *)=
) _sslLib->symbol("SSL_load_client_CA_file");
-      K_SSL_peek =3D (int (*)(SSL*,void*,int)) _sslLib->symbol("SSL_peek");
+      K_SSL_connect =3D (K_SSL_connect_func) _sslLib->symbol("SSL_connect")=
;
+      K_SSL_accept =3D (K_SSL_accept_func) _sslLib->symbol("SSL_accept");
+      K_SSL_read =3D (K_SSL_read_func) _sslLib->symbol("SSL_read");
+      K_SSL_write =3D (K_SSL_write_func) _sslLib->symbol("SSL_write");
+      K_SSL_new =3D (K_SSL_new_func) _sslLib->symbol("SSL_new");
+      K_SSL_free =3D (K_SSL_free_func) _sslLib->symbol("SSL_free");
+      K_SSL_shutdown =3D (K_SSL_shutdown_func) _sslLib->symbol("SSL_shutdow=
n");
+      K_SSL_CTX_new =3D (K_SSL_CTX_new_func) _sslLib->symbol("SSL_CTX_new")=
;
+      K_SSL_CTX_free =3D (K_SSL_CTX_free_func) _sslLib->symbol("SSL_CTX_fre=
e");
+      K_SSL_set_fd =3D (K_SSL_set_fd_func) _sslLib->symbol("SSL_set_fd");
+      K_SSL_pending =3D (K_SSL_pending_func) _sslLib->symbol("SSL_pending")=
;
+      K_SSL_CTX_set_cipher_list =3D (K_SSL_CTX_set_cipher_list_func) _sslLi=
b->symbol("SSL_CTX_set_cipher_list");
+      K_SSL_CTX_set_verify =3D (K_SSL_CTX_set_verify_func) _sslLib->symbol(=
"SSL_CTX_set_verify");
+      K_SSL_use_certificate =3D (K_SSL_use_certificate_func) _sslLib->symbo=
l("SSL_CTX_use_certificate");
+      K_SSL_get_current_cipher =3D (K_SSL_get_current_cipher_func) _sslLib-=
>symbol("SSL_get_current_cipher");
+      K_SSL_ctrl =3D (K_SSL_ctrl_func) _sslLib->symbol("SSL_ctrl");
+      K_TLSv1_client_method =3D (K_TLSv1_client_method_func) _sslLib->symbo=
l("TLSv1_client_method");
+      K_SSLv2_client_method =3D (K_SSLv2_client_method_func) _sslLib->symbo=
l("SSLv2_client_method");
+      K_SSLv3_client_method =3D (K_SSLv3_client_method_func) _sslLib->symbo=
l("SSLv3_client_method");
+      K_SSLv23_client_method =3D (K_SSLv23_client_method_func) _sslLib->sym=
bol("SSLv23_client_method");
+      K_SSL_get_peer_certificate =3D (K_SSL_get_peer_certificate_func) _ssl=
Lib->symbol("SSL_get_peer_certificate");
+      K_SSL_CIPHER_get_bits =3D (K_SSL_CIPHER_get_bits_func) _sslLib->symbo=
l("SSL_CIPHER_get_bits");
+      K_SSL_CIPHER_get_version =3D (K_SSL_CIPHER_get_version_func) _sslLib-=
>symbol("SSL_CIPHER_get_version");
+      K_SSL_CIPHER_get_name =3D (K_SSL_CIPHER_get_name_func) _sslLib->symbo=
l("SSL_CIPHER_get_name");
+      K_SSL_CIPHER_description =3D (K_SSL_CIPHER_description_func) _sslLib-=
>symbol("SSL_CIPHER_description");
+      K_SSL_CTX_use_PrivateKey =3D (K_SSL_CTX_use_PrivateKey_func) _sslLib-=
>symbol("SSL_CTX_use_PrivateKey");
+      K_SSL_CTX_use_certificate =3D (K_SSL_CTX_use_certificate_func) _sslLi=
b->symbol("SSL_CTX_use_certificate");
+      K_SSL_get_error =3D (K_SSL_get_error_func) _sslLib->symbol("SSL_get_e=
rror");
+      K_SSL_get_peer_cert_chain =3D (K_SSL_get_peer_cert_chain_func) _sslLi=
b->symbol("SSL_get_peer_cert_chain");
+      K_SSL_load_client_CA_file =3D (K_SSL_load_client_CA_file_func) _sslLi=
b->symbol("SSL_load_client_CA_file");
+      K_SSL_peek =3D (K_SSL_peek_func) _sslLib->symbol("SSL_peek");
 #endif
=20
=20
@@ -483,7 +601,7 @@
       void *x;
       x =3D _sslLib->symbol("SSL_library_init");
       if (_cryptoLib) {
-         if (x) ((int (*)())x)();
+         if (x) ((K_int_func)x)();
          x =3D _cryptoLib->symbol("OpenSSL_add_all_algorithms");
          if (x) ((void (*)())x)();
          x =3D _cryptoLib->symbol("OpenSSL_add_all_ciphers");
@@ -603,7 +721,7 @@
=20
 void KOpenSSLProxy::SSL_CTX_set_verify(SSL_CTX *ctx, int mode,
                               int (*verify_callback)(int, X509_STORE_CTX *)=
) {
-   if (K_SSL_CTX_set_verify) (K_SSL_CTX_set_verify)(ctx, mode, verify_callb=
ack);
+   if (K_SSL_CTX_set_verify) (K_SSL_CTX_set_verify)(ctx, mode, (K_SSL_CTX_s=
et_verify_cb) verify_callback);
 }
=20
=20
@@ -806,7 +924,7 @@
=20
=20
 int KOpenSSLProxy::PEM_write_bio_X509(BIO *bp, X509 *x) {
-   if (K_PEM_ASN1_write_bio) return (K_PEM_ASN1_write_bio) ((int (*)())K_i2=
d_X509, PEM_STRING_X509, bp, (char *)x, NULL, NULL, 0, NULL, NULL);
+   if (K_PEM_ASN1_write_bio) return (K_PEM_ASN1_write_bio) ((K_int_func)K_i=
2d_X509, PEM_STRING_X509, bp, (char *)x, NULL, NULL, 0, NULL, NULL);
    else return -1;
 }
=20
@@ -819,7 +937,7 @@
=20
 int KOpenSSLProxy::ASN1_i2d_fp(FILE *out,unsigned char *x) {
    if (K_ASN1_i2d_fp && K_i2d_ASN1_HEADER)=20
-        return (K_ASN1_i2d_fp)((int (*)())K_i2d_ASN1_HEADER, out, x);
+        return (K_ASN1_i2d_fp)((K_int_func)K_i2d_ASN1_HEADER, out, x);
    else return -1;
 }
=20
@@ -957,13 +1075,13 @@
=20
=20
 STACK* KOpenSSLProxy::sk_new(int (*cmp)()) {
-   if (K_sk_new) return (K_sk_new)(cmp);
+   if (K_sk_new) return (K_sk_new)((K_int_func) cmp);
    else return NULL;
 }
=20
=20
-int KOpenSSLProxy::sk_push(STACK* s, char* d) {
-   if (K_sk_push) return (K_sk_push)(s,d);
+int KOpenSSLProxy::sk_push(STACK* s, char* _d) {
+   if (K_sk_push) return (K_sk_push)(s,_d);
    else return -1;
 }
=20
@@ -1146,7 +1264,7 @@
=20
=20
 X509 *KOpenSSLProxy::X509_d2i_fp(FILE *out, X509** buf) {
-   if (K_ASN1_d2i_fp) return reinterpret_cast<X509 *>((K_ASN1_d2i_fp)(reint=
erpret_cast<char *(*)()>(K_X509_new), reinterpret_cast<char *(*)()>(K_d2i_X5=
09), out, reinterpret_cast<unsigned char **>(buf)));
+   if (K_ASN1_d2i_fp) return reinterpret_cast<X509 *>((K_ASN1_d2i_fp)(reint=
erpret_cast<K_str_func>(K_X509_new), reinterpret_cast<K_str_func>(K_d2i_X509=
), out, reinterpret_cast<unsigned char **>(buf)));
    else return NULL;
 }
=20
@@ -1213,7 +1331,7 @@
=20
 RSA* KOpenSSLProxy::RSA_generate_key(int bits, unsigned long e, void
                         (*callback)(int,int,void *), void *cb_arg) {
-   if (K_RSA_generate_key) return (K_RSA_generate_key)(bits, e, callback, c=
b_arg);
+   if (K_RSA_generate_key) return (K_RSA_generate_key)(bits, e, (K_RSA_gene=
rate_key_cb) callback, cb_arg);
    else return NULL;
 }
=20
--- kdelibs-3.0.8/kio/kpasswdserver/kpasswdserver.h.orig=092002-10-08 10:30:=
17.553601000 -0400
+++ kdelibs-3.0.8/kio/kpasswdserver/kpasswdserver.h=092002-10-08 16:44:33.85=
0000000 -0400
@@ -84,6 +84,7 @@
       AuthInfoList() { setAutoDelete(true); }
       int compareItems(QPtrCollection::Item n1, QPtrCollection::Item n2);
   };
+  friend class AuthInfoList;
  =20
   QDict< AuthInfoList > m_authDict;
=20
--- kdelibs-3.0.8/kjs/operations.cpp.orig=092002-10-08 10:03:27.267049000 -0=
400
+++ kdelibs-3.0.8/kjs/operations.cpp=092002-10-08 16:44:33.869999000 -0400
@@ -33,6 +33,10 @@
 #include <math.h>
 #include <stdlib.h>
=20
+#ifdef __SUNPRO_CC
+#include <sunmath.h>
+#endif
+
 #ifndef HAVE_FUNC_ISINF
 #ifdef HAVE_IEEEFP_H
 #include <ieeefp.h>
--- kdelibs-3.0.8/kjs/lookup.h.orig=092002-10-08 09:58:07.943795000 -0400
+++ kdelibs-3.0.8/kjs/lookup.h=092002-10-08 16:44:33.939994000 -0400
@@ -195,7 +195,7 @@
=20
     fprintf(stderr, "Function bit not set! Shouldn't happen in lookupGetFun=
ction!\n" );
     return Undefined();
-  };
+  }
=20
   /**
    * Simplified version of lookupGet in case there are no functions, only "=
values".
--- kdelibs-3.0.8/interfaces/ktexteditor/sessionconfiginterface.h.orig=09200=
2-10-10 09:23:31.908449000 -0400
+++ kdelibs-3.0.8/interfaces/ktexteditor/sessionconfiginterface.h=092002-10-=
10 09:24:38.819110000 -0400
@@ -25,6 +25,11 @@
 namespace KTextEditor
 {
=20
+class PrivateSessionConfigInterface;
+class Document;
+class View;
+class Plugin;
+
 /*
 *  This is an interface for the KTextEditor::Document/View/Plugin/ViewPlugi=
n classes !!!
 */
@@ -52,14 +57,14 @@
     virtual void writeSessionConfig (KConfig *) =3D 0;
    =20
   private:
-    class PrivateSessionConfigInterface *d;
+    PrivateSessionConfigInterface *d;
     static unsigned int globalSessionConfigInterfaceNumber;
     unsigned int mySessionConfigInterfaceNumber;
 };
=20
-SessionConfigInterface *sessionConfigInterface (class Document *doc);
-SessionConfigInterface *sessionConfigInterface (class View *view);
-SessionConfigInterface *sessionConfigInterface (class Plugin *plugin);
+SessionConfigInterface *sessionConfigInterface (Document *doc);
+SessionConfigInterface *sessionConfigInterface (View *view);
+SessionConfigInterface *sessionConfigInterface (Plugin *plugin);
=20
 };
=20
--- kdelibs-3.0.8/kabc/addresseelist.h.orig=092002-10-09 16:43:03.869866000=20=
-0400
+++ kdelibs-3.0.8/kabc/addresseelist.h=092002-10-09 16:43:12.539886000 -0400
@@ -74,7 +74,7 @@
     static bool lt( const Addressee &, const Addressee & );
 };
=20
-};
+}
=20
 /**=20
  * Addressee attribute used for sorting.=20
--- kdelibs-3.0.8/kate/interfaces/document.h.orig=092002-10-09 17:39:10.4050=
00000 -0400
+++ kdelibs-3.0.8/kate/interfaces/document.h=092002-10-09 17:39:46.785389000=
 -0400
@@ -42,6 +42,7 @@
 namespace Kate
 {
=20
+class Document;
 class View;
=20
 class Cursor : public KTextEditor::Cursor
@@ -75,7 +76,7 @@
     virtual ~ActionMenu () { ; };
=20
   public:
-    virtual void updateMenu (class Document *) =3D 0;
+    virtual void updateMenu (Document *) =3D 0;
 };
=20
 /** This interface provides access to the Kate Document class.
--- kdelibs-3.0.8/kate/part/kateviewinternal.h.orig=092002-10-09 17:01:40.60=
1447000 -0400
+++ kdelibs-3.0.8/kate/part/kateviewinternal.h=092002-10-09 17:06:16.2143020=
00 -0400
@@ -223,8 +223,13 @@
=20
     BracketMark bm;
    =20
+protected:
+    struct _dragInfo;
+    friend struct _dragInfo;
+
     enum DragState { diNone, diPending, diDragging };
=20
+private:
     struct _dragInfo {
       DragState    state;
       QPoint       start;
--- kdelibs-3.0.8/kate/part/katedialogs.h.orig=092002-10-09 17:29:32.2987980=
00 -0400
+++ kdelibs-3.0.8/kate/part/katedialogs.h=092002-10-09 17:29:38.478844000 -0=
400
@@ -367,9 +367,9 @@
     class QComboBox *ItemAttribute;
     class KIntNumInput *ItemPopCount;
=20
-    class QMap<int,QString> id2tag;
-    class QMap<int,ItemInfo> id2info;
-    class QMap<QString,int> tag2id;
+    QMap<int,QString> id2tag;
+    QMap<int,ItemInfo> id2info;
+    QMap<QString,int> tag2id;
=20
     class AttribEditor *attrEd;
     int transTableCnt;
--- kdelibs-3.0.8/kdecore/kallocator.cpp.orig=092002-10-08 09:36:00.54993100=
0 -0400
+++ kdelibs-3.0.8/kdecore/kallocator.cpp=092002-10-08 17:45:22.738605000 -04=
00
@@ -79,10 +79,10 @@
=20
 void KZoneAllocator::insertHash(MemBlock *b)
 {
-  unsigned int adr =3D ((unsigned int)b->begin) & (~(blockSize - 1));
-  unsigned int end =3D ((unsigned int)b->begin) + blockSize;
+  unsigned long adr =3D ((unsigned long)b->begin) & (~(blockSize - 1));
+  unsigned long end =3D ((unsigned long)b->begin) + blockSize;
   while (adr < end) {
-    unsigned int key =3D adr >> log2;
+    unsigned long key =3D adr >> log2;
     key =3D key & (hashSize - 1);
     if (!hashList[key])
       hashList[key] =3D new QValueList<MemBlock *>;
@@ -137,10 +137,10 @@
   /* Update also the hashlists if we aren't going to reconstruct them
      soon.  */
   if (hashList && !hashDirty) {
-    unsigned int adr =3D ((unsigned int)b->begin) & (~(blockSize - 1));
-    unsigned int end =3D ((unsigned int)b->begin) + blockSize;
+    unsigned long adr =3D ((unsigned long)b->begin) & (~(blockSize - 1));
+    unsigned long end =3D ((unsigned long)b->begin) + blockSize;
     while (adr < end) {
-      unsigned int key =3D adr >> log2;
+      unsigned long key =3D adr >> log2;
       key =3D key & (hashSize - 1);
       if (hashList[key]) {
 =09QValueList<MemBlock *> *list =3D hashList[key];
--- kdelibs-3.0.8/admin/libtool.m4.in.orig=092002-09-15 17:12:53.000000000 -=
0400
+++ kdelibs-3.0.8/admin/libtool.m4.in=092002-10-09 12:40:42.814121000 -0400
@@ -2922,23 +2922,22 @@
     case $cc_basename in
       CC)
 =09# Sun C++ 4.2, 5.x and Centerline C++
-=09_LT_AC_TAGVAR(no_undefined_flag, $1)=3D' -zdefs'
-=09_LT_AC_TAGVAR(archive_cmds, $1)=3D'$CC -G${allow_undefined_flag} -nolib=20=
-h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compil=
er_flags'
+=09_LT_AC_TAGVAR(no_undefined_flag, $1)=3D''
+=09_LT_AC_TAGVAR(archive_cmds, $1)=3D'$CC -G -z muldefs${allow_undefined_fl=
ag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_obje=
cts $compiler_flags'
 =09_LT_AC_TAGVAR(archive_expsym_cmds, $1)=3D'$echo "{ global:" > $lib.exp~c=
at $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };"=
 >> $lib.exp~
-=09$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o=20=
$lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm=20=
$lib.exp'
+=09$CC -G -z muldefs${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h=
$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler=
_flags~$rm $lib.exp'
=20
 =09_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=3D'-R$libdir'
 =09_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=3Dno
-=09case $host_os in
-=09  solaris2.[0-5] | solaris2.[0-5].*) ;;
-=09  *)
-=09    # The C++ compiler is used as linker so we must use $wl
-=09    # flag to pass the commands to the underlying system
-=09    # linker.
-=09    # Supported since Solaris 2.6 (maybe 2.5.1?)
-=09    _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=3D'${wl}-z ${wl}allextrac=
t$convenience ${wl}-z ${wl}defaultextract'
-=09    ;;
-=09esac
+
+=09# The '-Qoption ld ' is not necessary with Sun C++ as CC will
+=09# automatically pass all -z options to ld. Using '-Qoption ld' has the
+=09# adverse effect of causing those flags to be passed out of order to
+=09# ld. What was happening is ld would incorrectly get:
+=09#
+=09# -z allextract -z defaultextract <lib>
+=09_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=3D'-z allextract$convenience=20=
-z defaultextract'
+
 =09_LT_AC_TAGVAR(link_all_deplibs, $1)=3Dyes
=20
 =09# Commands to make compiler produce verbose output that lists
--- kdelibs-3.0.8/kdesu/client.cpp.orig=092002-10-08 09:54:27.821141000 -040=
0
+++ kdelibs-3.0.8/kdesu/client.cpp=092002-10-08 16:44:34.139998000 -0400
@@ -42,7 +42,7 @@
 };
=20
 #ifndef SUN_LEN
-#define SUN_LEN(ptr) ((socklen_t) (((struct sockaddr_un *) 0)->sun_path) \
+#define SUN_LEN(ptr) ((socklen_t) ((unsigned long) ((struct sockaddr_un *)=20=
0)->sun_path) \
 =09             + strlen ((ptr)->sun_path))
 #endif
=20
--- kdelibs-3.0.8/kdesu/kdesu_pty.cpp.orig=092002-10-08 09:55:18.481678000 -=
0400
+++ kdelibs-3.0.8/kdesu/kdesu_pty.cpp=092002-10-08 16:44:34.150004000 -0400
@@ -20,7 +20,7 @@
 #define _GNU_SOURCE   /* Needed for getpt, ptsname in glibc 2.1.x systems *=
/
 #endif
=20
-#if !defined(_XOPEN_SOURCE) && !defined(__osf__)
+#if !defined(_XOPEN_SOURCE) && !defined(__osf__) && !defined(sun)
 #define _XOPEN_SOURCE /* Needed for grantpt, unlockpt in glibc 2.1.x      *=
/
 #endif
=20
--- kdelibs-3.0.8/kdeui/kaccelmanager.cpp.orig=092002-10-08 09:36:35.1202870=
00 -0400
+++ kdelibs-3.0.8/kdeui/kaccelmanager.cpp=092002-10-08 16:44:34.209998000 -0=
400
@@ -82,21 +82,12 @@
 class KAcceleratorManagerPrivate
 {
 public:
-
-    static void manage(QWidget *widget);
-    static bool programmers_mode;
-    static bool standardName(const QString &str);
-
-private:
   class Item;
   typedef QPtrList<Item> ItemList;
=20
-  static void traverseChildren(QWidget *widget, Item *item);
-
-  static void manageMenuBar(QMenuBar *mbar, Item *item);
-  static void manageTabBar(QTabBar *bar, Item *item);
-
-  static void calculateAccelerators(Item *item, QString &used);
+  static void manage(QWidget *widget);
+  static bool programmers_mode;
+  static bool standardName(const QString &str);
=20
   class Item
   {
@@ -113,6 +104,13 @@
     int           m_index;
=20
   };
+private:
+  static void traverseChildren(QWidget *widget, Item *item);
+
+  static void manageMenuBar(QMenuBar *mbar, Item *item);
+  static void manageTabBar(QTabBar *bar, Item *item);
+
+  static void calculateAccelerators(Item *item, QString &used);
 };
=20
=20
--- kdelibs-3.0.8/kdeui/kmainwindow.cpp.orig=092002-10-08 09:40:51.962874000=
 -0400
+++ kdelibs-3.0.8/kdeui/kmainwindow.cpp=092002-10-08 16:44:34.230025000 -040=
0
@@ -65,13 +65,14 @@
 };
=20
 QPtrList<KMainWindow>* KMainWindow::memberList =3D 0L;
-static bool no_query_exit =3D false;
 static KMWSessionManaged* ksm =3D 0;
 static KStaticDeleter<KMWSessionManaged> ksmd;
=20
 class KMWSessionManaged : public KSessionManaged
 {
 public:
+    static bool no_query_exit;
+
     KMWSessionManaged()
     {
     };
@@ -104,7 +105,7 @@
         if ( sm.allowsInteraction() ) {
             bool cancelled =3D false;
             QPtrListIterator<KMainWindow> it(*KMainWindow::memberList);
-            ::no_query_exit =3D true;
+            KMWSessionManaged::no_query_exit =3D true;
             for (it.toFirst(); it.current() && !cancelled;){
                 KMainWindow *window =3D *it;
                 ++it; // Update now, the current window might get deleted
@@ -128,7 +129,7 @@
 =09=09     */
                 }
             }
-            ::no_query_exit =3D false;
+            KMWSessionManaged::no_query_exit =3D false;
             if (cancelled)
                return false;
=20
@@ -150,6 +151,7 @@
     }
 };
=20
+bool KMWSessionManaged::no_query_exit =3D false;
 static bool beeing_first =3D true;
=20
 KMainWindow::KMainWindow( QWidget* parent, const char *name, WFlags f )
@@ -501,7 +503,7 @@
                 not_withdrawn++;
         }
=20
-        if ( !no_query_exit && not_withdrawn <=3D 0 ) { // last window clos=
e accepted?
+        if ( !KMWSessionManaged::no_query_exit && not_withdrawn <=3D 0 ) {=20=
// last window close accepted?
             if ( queryExit() ) {            // Yes, Quit app?
                 // We saved the toolbars already
                 disconnect(kapp, SIGNAL(shutDown()), this, SLOT(shuttingDow=
n()));
--- kdelibs-3.0.8/khtml/ecma/kjs_window.h.orig=092002-10-10 10:56:14.2548730=
00 -0400
+++ kdelibs-3.0.8/khtml/ecma/kjs_window.h=092002-10-10 10:58:09.676022000 -0=
400
@@ -119,9 +119,14 @@
            Onmouseout, Onmouseover, Onmouseup, Onmove, Onreset, Onresize,
            Onselect, Onsubmit, Onunload };
   protected:
+    enum DelayedActionId { NullAction, DelayedClose, DelayedGoHistory };
+
     Value getListener(ExecState *exec, int eventId) const;
     void setListener(ExecState *exec, int eventId, Value func);
   private:
+    struct DelayedAction;
+    friend struct DelayedAction;
+
     QGuardedPtr<KHTMLPart> m_part;
     Screen *screen;
     History *history;
@@ -130,7 +135,6 @@
     WindowQObject *winq;
     DOM::Event *m_evt;
=20
-    enum DelayedActionId { NullAction, DelayedClose, DelayedGoHistory };
     struct DelayedAction {
       DelayedAction() : actionId(NullAction) {} // for QValueList
       DelayedAction( DelayedActionId id, QVariant p =3D QVariant() ) : acti=
onId(id), param(p) {}
--- kdelibs-3.0.8/khtml/rendering/bidi.cpp.orig=092002-10-10 10:33:16.280663=
000 -0400
+++ kdelibs-3.0.8/khtml/rendering/bidi.cpp=092002-10-10 10:33:32.660821000 -=
0400
@@ -48,6 +48,13 @@
=20
 #endif
=20
+inline BidiIterator::BidiIterator()
+{
+    par =3D 0;
+    obj =3D 0;
+    pos =3D 0;
+}
+
 static BidiIterator sor;
 static BidiIterator eor;
 static BidiIterator last;
@@ -163,13 +170,6 @@
     return o;
 }
=20
-inline BidiIterator::BidiIterator()
-{
-    par =3D 0;
-    obj =3D 0;
-    pos =3D 0;
-}
-
 BidiIterator::BidiIterator(RenderFlow *_par)
 {
     par =3D _par;
--- kdelibs-3.0.8/kparts/componentfactory.h.orig=092002-10-10 11:15:59.72746=
2000 -0400
+++ kdelibs-3.0.8/kparts/componentfactory.h=092002-10-10 11:16:35.407799000=20=
-0400
@@ -229,7 +229,7 @@
                 return 0;
             }
=20
-            return createPartInstanceFromLibrary<T>( library.local8Bit(), p=
arentWidget,
+            return createPartInstanceFromLibrary<T>( (const char *) library=
.local8Bit(), parentWidget,
                                                      widgetName, parent, na=
me, args, error );
         }
=20

--=-GOGR7VIFKUkKNrmxqGtq--