]> git.saurik.com Git - wxWidgets.git/blame - src/iodbc/itrace.c
OnExit() is called for modules which were initialized even if the init of
[wxWidgets.git] / src / iodbc / itrace.c
CommitLineData
1a6944fd 1/** trace functions
7e616b10
RR
2
3 Copyright (C) 1995 by Ke Jin <kejin@empress.com>
1a6944fd
RR
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14**/
15
16#include <../iodbc/iodbc.h>
17
18#include <../iodbc/isql.h>
19#include <../iodbc/isqlext.h>
20
21#include <../iodbc/dlproc.h>
22
23#include <../iodbc/itrace.h>
24
25#include <../iodbc/herr.h>
26#include <../iodbc/henv.h>
27#include "../iodbc/henv.ci"
28
29#include <stdio.h>
30
31static int printreturn(void FAR* istm, int ret )
32{
7e616b10
RR
33 FILE FAR* stm = (FILE FAR*)istm;
34 char FAR* ptr = "Invalid return value";
35
36 switch( ret )
37 {
38 case SQL_SUCCESS:
39 ptr = "SQL_SUCCESS";
40 break;
41
42 case SQL_SUCCESS_WITH_INFO:
43 ptr = "SQL_SUCCESS_WITH_INFO";
44 break;
45
46 case SQL_NO_DATA_FOUND:
47 ptr = "SQL_NO_DATA_FOUND";
48 break;
49
50 case SQL_NEED_DATA:
51 ptr = "SQL_NEED_DATA";
52 break;
53
54 case SQL_INVALID_HANDLE:
55 ptr = "SQL_INVALID_HANDLE";
56 break;
57
58 case SQL_ERROR:
59 ptr = "SQL_ERROR";
60 break;
61
62 case SQL_STILL_EXECUTING:
63 ptr = "SQL_STILL_EXECUTING";
64 break;
65
66 default:
67 break;
68 }
69
70 fprintf( stm, "%s\n", ptr);
71 fflush( stm );
72
73 return 0;
1a6944fd
RR
74}
75
7e616b10 76HPROC _iodbcdm_gettrproc(void FAR* istm, int procid, int type)
1a6944fd 77{
7e616b10 78 FILE FAR* stm = (FILE FAR*)istm;
1a6944fd 79
7e616b10
RR
80 if( type == TRACE_TYPE_DM2DRV )
81 {
82 int i,j = 0;
1a6944fd 83
7e616b10
RR
84 for(i=0;j != en_NullProc ;i++)
85 {
86 j = odbcapi_symtab[i].en_idx;
1a6944fd 87
7e616b10
RR
88 if( j == procid )
89 {
90 fprintf( stm, "\n%s ( ... )\n",
91 odbcapi_symtab[i].symbol);
1a6944fd 92
7e616b10
RR
93 fflush( stm );
94 }
95 }
96 }
1a6944fd 97
7e616b10
RR
98 if( type == TRACE_TYPE_RETURN )
99 {
100 return (HPROC)printreturn;
101 }
1a6944fd 102
7e616b10 103 return SQL_NULL_HPROC;
1a6944fd 104}