Re: [PHP-DEV] Réf. : [PHP-DEV] Possible bug in sybase-db?

2001-06-27 Thread Joey Smith

Actually, I was recently in contact with Tom, it seems he no longer
really is involved in PHP. I have been quietly working on quite a few
things, but I don't really have a whole lot of time.

On Tue, 26 Jun 2001, Jean-Claude Schopfer wrote the following to...:

> Joey Smith wrote :
> 
> >>I just finished coding up a patch to sybase-ct to add charset
> >>support. I want to put it through a little more testing before I apply
> >>it..
> 
> Ah :))) but there's already a patch for this,
> see bug #11559 or #11320
> 
> Zeev / Tom:
> 
> what is the TODO plan for sybase_ct ? which functions
> can be develloped ? (sybase_unbuffered_query is possible ?)
> 
> @++
> JC
> 
> 
> 


-- 
PHP Development Mailing List 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DEV] Réf. : [PHP-DEV] Possible bug in sybase-db?

2001-06-26 Thread Jean-Claude Schopfer

Joey Smith wrote :

>>I just finished coding up a patch to sybase-ct to add charset
>>support. I want to put it through a little more testing before I apply
>>it..

Ah :))) but there's already a patch for this,
see bug #11559 or #11320

Zeev / Tom:

what is the TODO plan for sybase_ct ? which functions
can be develloped ? (sybase_unbuffered_query is possible ?)

@++
JC


-- 
PHP Development Mailing List 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DEV] Possible bug in sybase-db?

2001-06-26 Thread Joey Smith

Zeev:
  I just finished coding up a patch to sybase-ct to add charset
support. I want to put it through a little more testing before I apply
it, but in the process, I found what appears to be a bug in the db
extension, and you seemed like the right person to talk to.

  It all comes from "hashed_details_length". If they specify a charset,
then hashed_details_length will be one byte too short...there is no
space allocated for the _ seperator in the hashed_details.

  So I followed what seemed to be the conventional wisdom, and added one
byte to all cases, and added an extra _ at the end of cases 1-3.

  Is this the correct way to do this? Was this even a bug, or are we
safe anyways?

  I attached the patch so you could take a look at it.


Index: ext/sybase/php_sybase_db.c
===
RCS file: /repository/php4/ext/sybase/php_sybase_db.c,v
retrieving revision 1.16
diff -u -r1.16 php_sybase_db.c
--- ext/sybase/php_sybase_db.c  12 Jun 2001 05:28:40 -  1.16
+++ ext/sybase/php_sybase_db.c  26 Jun 2001 12:39:08 -
@@ -282,9 +282,9 @@
}
convert_to_string(yyhost);
host = yyhost->value.str.val;
-   hashed_details_length = yyhost->value.str.len+6+3;
+   hashed_details_length = yyhost->value.str.len+6+4;
hashed_details = (char *) 
emalloc(hashed_details_length+1);
-   
sprintf(hashed_details,"sybase_%s__",yyhost->value.str.val);
+   
+sprintf(hashed_details,"sybase_%s___",yyhost->value.str.val);
}
break;
case 2: {
@@ -297,9 +297,9 @@
convert_to_string(yyuser);
host = yyhost->value.str.val;
user = yyuser->value.str.val;
-   hashed_details_length = 
yyhost->value.str.len+yyuser->value.str.len+6+3;
+   hashed_details_length = 
+yyhost->value.str.len+yyuser->value.str.len+6+4;
hashed_details = (char *) 
emalloc(hashed_details_length+1);
-   
sprintf(hashed_details,"sybase_%s_%s_",yyhost->value.str.val,yyuser->value.str.val);
+   
+sprintf(hashed_details,"sybase_%s_%s__",yyhost->value.str.val,yyuser->value.str.val);
}
break;
case 3: {
@@ -314,9 +314,9 @@
host = yyhost->value.str.val;
user = yyuser->value.str.val;
passwd = yypasswd->value.str.val;
-   hashed_details_length = 
yyhost->value.str.len+yyuser->value.str.len+yypasswd->value.str.len+6+3;
+   hashed_details_length = 
+yyhost->value.str.len+yyuser->value.str.len+yypasswd->value.str.len+6+4;
hashed_details = (char *) 
emalloc(hashed_details_length+1);
-   
sprintf(hashed_details,"sybase_%s_%s_%s",yyhost->value.str.val,yyuser->value.str.val,yypasswd->value.str.val);
 /* SAFE */
+   
+sprintf(hashed_details,"sybase_%s_%s_%s_",yyhost->value.str.val,yyuser->value.str.val,yypasswd->value.str.val);
+ /* SAFE */
}
break;
case 4: {
@@ -333,7 +333,7 @@
user = yyuser->value.str.val;
passwd = yypasswd->value.str.val;
charset = yycharset->value.str.val;
-   hashed_details_length = 
yyhost->value.str.len+yyuser->value.str.len+yypasswd->value.str.len+yycharset->value.str.len+6+3;

+   hashed_details_length = 
+yyhost->value.str.len+yyuser->value.str.len+yypasswd->value.str.len+yycharset->value.str.len+6+4;
+
hashed_details = (char *) 
emalloc(hashed_details_length+1);

sprintf(hashed_details,"sybase_%s_%s_%s_%s",yyhost->value.str.val,yyuser->value.str.val,yypasswd->value.str.val,yycharset->value.str.val);
 /* SAFE */
}


-- 
PHP Development Mailing List 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]