]> granicus.if.org Git - php/commitdiff
Fix Bug #65219
authorStanley Sufficool <ssufficool@php.net>
Sun, 14 Jul 2013 18:16:42 +0000 (11:16 -0700)
committerStanley Sufficool <ssufficool@php.net>
Sun, 14 Jul 2013 18:16:42 +0000 (11:16 -0700)
DBSETLDBNAME should be called before login to set DBNAME in login record

ext/pdo_dblib/dblib_driver.c

index c54cd73d845e7511f1706fcad834e0cc9b5d7f6a..ff425147219ae92caf725dcb110ac1c0350c78d1 100644 (file)
@@ -350,6 +350,12 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
 
        DBSETLAPP(H->login, vars[1].optval);
 
+#ifdef DBSETLDBNAME
+       if (vars[3].optval) {
+               DBSETLDBNAME(H->login, vars[3].optval);
+       }
+#endif
+
        H->link = dbopen(H->login, vars[2].optval);
 
        if (!H->link) {
@@ -365,12 +371,6 @@ static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_
        /* allow double quoted indentifiers */
        DBSETOPT(H->link, DBQUOTEDIDENT, "1");
 
-#ifdef DBSETLDBNAME
-       if (vars[3].optval) {
-               DBSETLDBNAME(H->login, vars[3].optval);
-       }
-#endif
-
        ret = 1;
        dbh->max_escaped_char_length = 2;
        dbh->alloc_own_columns = 1;