sesser          Tue Dec 10 10:41:38 2002 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4/ext/sybase    php_sybase_db.c 
  Log:
  MFH
  
  
Index: php4/ext/sybase/php_sybase_db.c
diff -u php4/ext/sybase/php_sybase_db.c:1.38 php4/ext/sybase/php_sybase_db.c:1.38.2.1
--- php4/ext/sybase/php_sybase_db.c:1.38        Wed Oct  9 09:29:04 2002
+++ php4/ext/sybase/php_sybase_db.c     Tue Dec 10 10:41:38 2002
@@ -20,7 +20,7 @@
    +----------------------------------------------------------------------+
  */
  
-/* $Id: php_sybase_db.c,v 1.38 2002/10/09 13:29:04 iliaa Exp $ */
+/* $Id: php_sybase_db.c,v 1.38.2.1 2002/12/10 15:41:38 sesser Exp $ */
 
 
 #ifdef HAVE_CONFIG_H
@@ -720,11 +720,14 @@
                        if (dbwillconvert(coltype(offset),SYBCHAR)) {
                                char *res_buf;
                                int res_length = dbdatlen(sybase_ptr->link,offset);
+                               int src_length = res_length;
                                register char *p;
                        
                                switch (coltype(offset)) {
                                        case SYBBINARY:
                                        case SYBVARBINARY:
+                                               res_length *= 2;
+                                               break;
                                        case SYBCHAR:
                                        case SYBVARCHAR:
                                        case SYBTEXT:
@@ -740,15 +743,16 @@
                                memset(res_buf,' ',res_length+1);  /* XXX i'm sure 
there's a better way
                                                                                       
                   but i don't have sybase here to test
                                                                                       
                   991105 [EMAIL PROTECTED]  */
-                               
dbconvert(NULL,coltype(offset),dbdata(sybase_ptr->link,offset), 
res_length,SYBCHAR,res_buf,-1);
+                               
+dbconvert(NULL,coltype(offset),dbdata(sybase_ptr->link,offset), 
+res_length,SYBCHAR,res_buf,res_length);
                
                                /* get rid of trailing spaces */
                                p = res_buf + res_length;
-                               while (*p == ' ') {
+                               while (p >= res_buf && *p == ' ') {
                                        p--;
-                                       res_length--;
                                }
                                *(++p) = 0; /* put a trailing NULL */
+                               res_length = p - res_buf;
+                               
                
                                Z_STRLEN_P(result) = res_length;
                                Z_STRVAL_P(result) = res_buf;



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to