ID:               31174
 User updated by:  lukem at NetBSD dot org
 Reported By:      lukem at NetBSD dot org
-Status:           Feedback
+Status:           Open
 Bug Type:         Compile Warning
 Operating System: NetBSD
 PHP Version:      4.3.10
 New Comment:

The error:
  ext/standard/url.c: In function `php_url_parse_ex':
  ext/standard/url.c:102: warning: assignment discards qualifiers from
pointer target type

The cause of the error is obvious; in the function php_url_parse_ex():
  + the function argument str is declared as 'char const *str'
  + the variable s is declared as 'char *s'
  + the assignement statement in line 102 is:
        s = str;
    which attempts to lose the "const"ness of str.

It turns out that all the 'char *' variables used in this function can
be 'const char *' (or in php-use, 'char const *' -- same thing,
although the former is the common idiom) because those variables refer
to str (or derivatives) and don't need to modify the variable.

I solved the warnings locally by adding the 'const' qualifier to the
variable declaration for s,e,p,pp,ee 
as I mentioned in my first comment.


Previous Comments:
------------------------------------------------------------------------

[2004-12-19 20:22:57] [EMAIL PROTECTED]

Can you please show the exact warnings you are seeing.

------------------------------------------------------------------------

[2004-12-18 04:09:12] lukem at NetBSD dot org

Description:
------------
ext/standard/url.c::php_url_parse_ex() uses 'char *' pointers at
various places where 'char const *' (aka 'const char *') pointers
should be used instead.  This causes problems when compiling php with a
higher level of compiler warnings.

The fix is trivial.  Replace line 100 of ext/standard/url.c:
  char *s, *e, *p, *pp, *ue;
with
  char const *s, *e, *p, *pp, *ue;



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=31174&edit=1

Reply via email to