static void translatorchooser_ok_clicked (GtkWidget *widget, TTRANSLATORCHOOSER *choose_t) { char *szTranslator; if (choose_t) { if (GTK_CLIST (choose_t->translatorlist)->selection != NULL) { gtk_clist_get_text (GTK_CLIST (choose_t->translatorlist), GPOINTER_TO_INT (GTK_CLIST (choose_t->translatorlist)-> selection->data), 0, &szTranslator); choose_t->translator = dm_SQL_A2W (szTranslator, SQL_NTS); } else choose_t->translator = NULL; choose_t->translatorlist = NULL; gtk_signal_disconnect_by_func (GTK_OBJECT (choose_t->mainwnd), GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_main_quit (); gtk_widget_destroy (choose_t->mainwnd); } }
static void _Conv_A2W(char *data, SQLLEN *pInd, UDWORD size) { wchar_t *wdata = (wchar_t *) data; if (*pInd != SQL_NULL_DATA) { wchar_t *buf = (wchar_t *)dm_SQL_A2W ((SQLCHAR *) data, (ssize_t)*pInd); if (buf != NULL) WCSCPY (wdata, buf); MEM_FREE (buf); } }
static void fdriverchooser_finish_clicked (GtkWidget *widget, TFDRIVERCHOOSER *choose_t) { char *szDriver; char *dsn; char buff[1024]; if (choose_t) { if (GTK_CLIST (choose_t->driverlist)->selection != NULL) { gtk_clist_get_text (GTK_CLIST (choose_t->driverlist), GPOINTER_TO_INT (GTK_CLIST (choose_t->driverlist)->selection-> data), 0, &szDriver); choose_t->driver = dm_SQL_A2W(szDriver, SQL_NTS); } else choose_t->driver = NULL; dsn = gtk_entry_get_text(choose_t->dsn_entry); if (strchr(dsn, '/') != NULL) snprintf(buff, sizeof(buff), "%s", dsn); else snprintf(buff, sizeof(buff), "%s/%s", choose_t->curr_dir, dsn); choose_t->dsn = strdup(buff); choose_t->driverlist = NULL; choose_t->dsn_entry = NULL; choose_t->b_back = NULL; choose_t->b_continue = NULL; choose_t->mess_entry = NULL; choose_t->tab_panel = NULL; choose_t->browse_sel = NULL; choose_t->ok = (choose_t->driver ? TRUE : FALSE); gtk_signal_disconnect_by_func (GTK_OBJECT (choose_t->mainwnd), GTK_SIGNAL_FUNC (gtk_main_quit), NULL); gtk_main_quit (); gtk_widget_destroy (choose_t->mainwnd); } }
SQLRETURN SQL_API SQLSetCursorName_Internal ( SQLHSTMT hstmt, SQLPOINTER szCursor, SQLSMALLINT cbCursor, SQLCHAR waMode) { STMT (pstmt, hstmt); CONN (pdbc, pstmt->hdbc); ENVR (penv, pdbc->henv); HPROC hproc = SQL_NULL_HPROC; SQLRETURN retcode = SQL_SUCCESS; sqlstcode_t sqlstat = en_00000; void * _Cursor = NULL; if (szCursor == NULL) { PUSHSQLERR (pstmt->herr, en_S1009); return SQL_ERROR; } if (cbCursor < 0 && cbCursor != SQL_NTS) { PUSHSQLERR (pstmt->herr, en_S1090); return SQL_ERROR; } /* check state */ if (pstmt->asyn_on != en_NullProc) { sqlstat = en_S1010; } else { switch (pstmt->state) { case en_stmt_executed_with_info: case en_stmt_executed: case en_stmt_cursoropen: case en_stmt_fetched: case en_stmt_xfetched: sqlstat = en_24000; break; case en_stmt_needdata: case en_stmt_mustput: case en_stmt_canput: sqlstat = en_S1010; break; default: break; } } if (sqlstat != en_00000) { PUSHSQLERR (pstmt->herr, sqlstat); return SQL_ERROR; } if ((penv->unicode_driver && waMode != 'W') || (!penv->unicode_driver && waMode == 'W')) { if (waMode != 'W') { /* ansi=>unicode*/ _Cursor = dm_SQL_A2W ((SQLCHAR *) szCursor, cbCursor); } else { /* unicode=>ansi*/ _Cursor = dm_SQL_W2A ((SQLWCHAR *) szCursor, cbCursor); } szCursor = _Cursor; cbCursor = SQL_NTS; } CALL_UDRIVER(pstmt->hdbc, pstmt, retcode, hproc, penv->unicode_driver, en_SetCursorName, ( pstmt->dhstmt, szCursor, cbCursor)); MEM_FREE(_Cursor); if (hproc == SQL_NULL_HPROC) { PUSHSQLERR (pstmt->herr, en_IM001); return SQL_ERROR; } if (SQL_SUCCEEDED (retcode)) { pstmt->cursor_state = en_stmt_cursor_named; } return retcode; }