From ca0fa560da3029d3b30db32a0aeb7bba202a5d32 Mon Sep 17 00:00:00 2001 From: Alexander Iljin Date: Sun, 30 Oct 2016 01:08:21 +0300 Subject: [PATCH] odbc: factor some common code into a private word --- unmaintained/odbc/odbc.factor | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/unmaintained/odbc/odbc.factor b/unmaintained/odbc/odbc.factor index f660c0a577..146a5bf34a 100644 --- a/unmaintained/odbc/odbc.factor +++ b/unmaintained/odbc/odbc.factor @@ -147,8 +147,15 @@ FUNCTION: SQLRETURN SQLGetData ( SQLHSTMT statementHandle, SQLUSMALLINT columnNu : alloc-stmt-handle ( dbc -- handle ) SQL-HANDLE-STMT swap alloc-handle ; + ascii string>alien ; + +PRIVATE> + : temp-string ( length -- byte-array length ) - [ CHAR: space ascii string>alien ] keep ; + [ alien-space-str ] keep ; : odbc-init ( -- env ) alloc-env-handle @@ -190,7 +197,7 @@ C: column :: odbc-describe-column ( statement columnNumber -- column ) 1024 :> bufferLen - bufferLen CHAR: space ascii string>alien :> columnName + bufferLen alien-space-str :> columnName 0 short :> nameLengthPtr 0 short :> dataTypePtr 0 uint :> columnSizePtr @@ -234,8 +241,7 @@ C: field :: odbc-get-field ( statement column! -- field ) column column? [ statement column odbc-describe-column column! ] unless 8192 :> bufferLen - bufferLen CHAR: space ascii string>alien :> targetValuePtr - + bufferLen alien-space-str :> targetValuePtr statement column number>> SQL-C-DEFAULT targetValuePtr bufferLen f SQLGetData succeeded? [ targetValuePtr column [ dereference-type-pointer ] keep