--with-mssql uses a lot of undeclared functions

Bug #21544 --with-mssql uses a lot of undeclared functions
Submitted: 2003-01-09 06:37 UTC Modified: 2004-04-14 22:23 UTC
Votes:1
Avg. Score:3.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: php at dark-id dot de Assigned:
Status: Closed Package: MSSQL related
PHP Version: 4.3.0 OS: ANY
Private report: No CVE-ID: None

 [2003-01-09 06:37 UTC] php at dark-id dot de

compiling of php 4.3.0 terminates with
../php-4.3.0/ext/mssql/php_mssql.c: In function `zm_activate_mssql':
../php-4.3.0/ext/mssql/php_mssql.c:334: `SHORT' undeclared (first use in this function)
../php-4.3.0/ext/mssql/php_mssql.c:334: (Each undeclared identifier is reported only once
../php-4.3.0/ext/mssql/php_mssql.c:334: for each function it appears in.)

when configured with --with-mssql.

Any hints?

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports

 [2003-01-09 08:25 UTC] nicos@php.net

It looks this happen because it uses by default /usr/local/freetds/ even if it doesn't exist. Not enough verifications on the config.m4...

Reclassifing.

 [2003-01-09 08:42 UTC] nicos@php.net

Even with the latest freetds, it looks:
DBMSGHANDLE_PROC is not defined,
DBERRHANDLE is redefined,
DBSETOPT is redefined,
and dbsetopt hasn't got enough argument at line: 502,511,564,615,624.

 [2003-01-09 16:37 UTC] fmk@php.net

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.

Extended checks for where FreeTDS is installed has been added to the configure script

 [2004-04-14 11:21 UTC] sean@php.net

re-opened.
This is still happening (or again happening) for me.
4.3.6RC3 (and CVS HEAD (4_3)).

Attached is a patch to fix this. I'm not a c guy, though, so please verify.

S

---

Index: ext/mssql/php_mssql.c
===================================================================
RCS file: /repository/php-src/ext/mssql/php_mssql.c,v
retrieving revision 1.86.2.31
diff -u -r1.86.2.31 php_mssql.c
--- ext/mssql/php_mssql.c       30 Mar 2004 17:54:38 -0000      1.86.2.31
+++ ext/mssql/php_mssql.c       14 Apr 2004 15:18:18 -0000
@@ -336,7 +336,7 @@
        dbsetlogintime(MS_SQL_G(connect_timeout));
        if (MS_SQL_G(timeout) < 0) MS_SQL_G(timeout) = 60;
        dbsettime(MS_SQL_G(timeout));
-       dbsetmaxprocs((SHORT)MS_SQL_G(max_procs));
+       dbsetmaxprocs((int)MS_SQL_G(max_procs));

        return SUCCESS;
 }

 [2004-04-14 22:23 UTC] sniper@php.net

Sean, open new report..and I think your patch is still wrong and your freetds installation is just broken.