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

 ID:                 53251
 Comment by:         greno at verizon dot net
 Reported by:        jeanseb at au-fil-du dot net
 Summary:            bindtextdomain with null directory doesn't return
                     the previously set
 Status:             Open
 Type:               Bug
 Package:            Gettext related
 Operating System:   Debian 5.0.6
 PHP Version:        5.3.3
 Block user comment: N

 New Comment:

The previous expected PHP results shown are not correct for
'bindtextdomain'.



The expected results should be:

getcwd() : /home/jeanseb

bindtextdomain("messages", "./locale") : ./locale

bindtextdomain("messages",NULL) : ./locale



When I test using python 'bindtextdomain' I get the correct result:

# cat test.py

#!/usr/bin/env python

from gettext import *



print bindtextdomain("messages", "./locale");

print bindtextdomain("messages",None);



# python test.py

./locale

./locale



Relative base directories are allowed.


Previous Comments:
------------------------------------------------------------------------
[2010-11-07 12:09:59] jeanseb at au-fil-du dot net

Description:
------------
man bindtextdomain : 

If dirname is NULL, the function returns the previously set base
directory for domain domainname.



In PHP we are returning the CWD.



I have attached a patch with 2 tests. 



ext/gettext/tests/gettext_bindtextdomain-nulldir-alreadyset.phpt

=> PASS with my patch

ext/gettext/tests/gettext_bindtextdomain-nulldir.phpt

=> Fail, my patch introduce a BC. I'm not sure we want this but I don't
see any workarround.

Test script:
---------------
<?php



echo 'getcwd() : ' . getcwd() . PHP_EOL;



echo 'bindtextdomain("messages", "./locale") : ' .
bindtextdomain("messages", "./locale") . PHP_EOL;



echo 'bindtextdomain("messages",NULL) : ' .
bindtextdomain("messages",NULL) . PHP_EOL;

Expected result:
----------------
getcwd() : /home/jeanseb

bindtextdomain("messages", "./locale") : /home/jeanseb/locale

bindtextdomain("messages",NULL) : /home/jeanseb/locale



Actual result:
--------------
getcwd() : /home/jeanseb

bindtextdomain("messages", "./locale") : /home/jeanseb/locale

bindtextdomain("messages",NULL) : /home/jeanseb


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



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

Reply via email to