]> git.saurik.com Git - wxWidgets.git/blobdiff - src/iodbc/dlproc.c
let the popup listbox process the kbd messages in wxComboBox
[wxWidgets.git] / src / iodbc / dlproc.c
index ab102d21740bc084e01da698e3e98d0bb538966e..df67ba8ed0f818da9a1176422456cf616049443a 100644 (file)
-/** Load driver and resolve driver's function entry point 
-      
-    Copyright (C) 1995 by Ke Jin <kejin@empress.com> 
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-**/
-
-#include       <../iodbc/iodbc.h>
-
-#include       <../iodbc/isql.h>
-#include       <../iodbc/isqlext.h>
+/*
+ *  dlproc.c
+ *
+ *  $Id$
+ *
+ *  Load driver and resolve driver's function entry point
+ *
+ *  The iODBC driver manager.
+ *  
+ *  Copyright (C) 1995 by Ke Jin <kejin@empress.com> 
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Library General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Library General Public
+ *  License along with this library; if not, write to the Free
+ *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include       "config.h"
+
+#include       "isql.h"
+#include       "isqlext.h"
+
+#include       "dlproc.h"
+
+#include       "herr.h"
+#include       "henv.h"
+#include       "hdbc.h"
+
+#include       "itrace.h"
+
+#include       "henv.ci"
+
+HPROC 
+_iodbcdm_getproc (HDBC hdbc, int idx)
+{
+  DBC_t FAR *pdbc = (DBC_t FAR *) hdbc;
+  ENV_t FAR *penv;
+  HPROC FAR *phproc;
 
 
-#include        <../iodbc/dlproc.h>
+  if (idx <= 0 || idx > SQL_EXT_API_LAST)
+    /* first entry naver used */
+    {
+      return SQL_NULL_HPROC;
+    }
 
 
-#include       <../iodbc/herr.h>
-#include       <../iodbc/henv.h>
-#include       <../iodbc/hdbc.h>
+  penv = (ENV_t FAR *) (pdbc->henv);
 
 
-#include       <../iodbc/itrace.h>
+  if (penv == NULL)
+    {
+      return SQL_NULL_HPROC;
+    }
 
 
-#include       "../iodbc/henv.ci"
+  phproc = penv->dllproc_tab + idx;
 
 
-HPROC  _iodbcdm_getproc( HDBC hdbc, int idx )
-{
-       DBC_t FAR*      pdbc    = (DBC_t FAR*)hdbc;
-       ENV_t FAR*      penv;
-       HDLL            hdll;
-       HPROC FAR*      phproc;
+  if (*phproc == SQL_NULL_HPROC)
+    {
+      int i, en_idx;
 
 
-       if( idx <= 0 || idx > SQL_EXT_API_LAST )
-       /* first entry naver used */
+      for (i = 0;; i++)
        {
        {
-               return SQL_NULL_HPROC;
-       }
-       
-       penv = (ENV_t FAR*)(pdbc->henv);
+         en_idx = odbcapi_symtab[i].en_idx;
 
 
-       if( penv == NULL )
-       {
-               return SQL_NULL_HPROC;
-       }
+         if (en_idx == en_NullProc)
+           {
+             break;
+           }
 
 
-       phproc = penv->dllproc_tab + idx;
+         if (en_idx == idx)
+           {
+             *phproc = _iodbcdm_dllproc (penv->hdll,
+                 odbcapi_symtab[i].symbol);
 
 
-       if( *phproc == SQL_NULL_HPROC )
-       {
-               int     i, en_idx;
-
-               for( i=0 ; ; i++ )
-               {
-                       en_idx = odbcapi_symtab[i].en_idx;
-                       
-                       if( en_idx == en_NullProc )
-                       {
-                               break;
-                       }
-
-                       if( en_idx == idx )
-                       {
-                               *phproc = _iodbcdm_dllproc( penv->hdll, 
-                                       odbcapi_symtab[i].symbol );
-
-                               break;
-                       }
-               }
+             break;
+           }
        }
        }
+    }
 
 
-       return *phproc;
+  return *phproc;
 }
 
 }
 
-HDLL   _iodbcdm_dllopen( char FAR* path )
+
+HDLL 
+_iodbcdm_dllopen (char FAR * path)
 {
 {
-       return  (HDLL)DLL_OPEN( path );
+  return (HDLL) DLL_OPEN (path);
 }
 
 }
 
-HPROC  _iodbcdm_dllproc( HDLL hdll, char FAR* sym )
+
+HPROC 
+_iodbcdm_dllproc (HDLL hdll, char FAR * sym)
 {
 {
-       return (HPROC)DLL_PROC( hdll, sym );
+  return (HPROC) DLL_PROC (hdll, sym);
 }
 
 }
 
-int    _iodbcdm_dllclose( HDLL hdll )
+
+int 
+_iodbcdm_dllclose (HDLL hdll)
 {
 {
-       DLL_CLOSE( hdll );
+  DLL_CLOSE (hdll);
 
 
-       return 0;
+  return 0;
 }
 
 }
 
-char*  _iodbcdm_dllerror( )
+
+char *
+_iodbcdm_dllerror ()
 {
 {
-       return DLL_ERROR();
+  return DLL_ERROR ();
 }
 }
+