[PHP-DEV] mailparse

2003-01-08 Thread Morten Winther
Hello,

When you look up mailparse on php.net it doesn't say that this function is
moved PEAR.

Shouldn't this be corrected?

http://www.php.net/manual/en/ref.mailparse.php

--
/ morten

"There are only 10 types of people in the world: Those who understand
binary, and those who don't"



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] Re: changing max size to upload

2002-06-21 Thread Morten Winther


"Anil Garg" <[EMAIL PROTECTED]> wrote in message
025d01c21876$40e08a20$[EMAIL PROTECTED]">news:025d01c21876$40e08a20$[EMAIL PROTECTED]...
> hi,
>
> sory to post this here.
> How can i change the maximum size of the file being uploaded??
> The line below does not seem to help me:
> 
>
> Do  i need to make some more changes??
> php ver i am using is mod_php4-4.1.2
>
> I dont have a php.ini file anywhere!! i just have a file php.ini-dist in
> /usr/local/etc/ ...but i dont think it is being used.

One way is to enter values in httpd.conf

php_admin_value post_max_size 3000
php_value upload_max_filesize 3000

/ morten



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php




Re: [PHP-DEV] standard platform names

2002-04-10 Thread Morten Poulsen

On Wed, 2002-04-10 at 00:22, Stig S. Bakken wrote:
> The general format could be "CPU-OS[-EXTRA]"

I like "OS-CPU[-EXTRA]" more. A shell script (as one of your examples)
would often be CPU and EXTRA - but not OS - independend. If we use
"OS-CPU[-EXTRA]" it runs on eg. linux-*, and not *-linux*. It's not
often I have code that runs on _all_ powerpc's, no matter which OS.

Just my .02 Euro,
Morten

-- 
Morten Poulsen <[EMAIL PROTECTED]>
http://www.afdelingp.dk/


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php




[PHP-DEV] [PATCH] sprintf() argnum

2002-03-21 Thread Morten Poulsen

Hi,

I discovered a bug in sprintf()'s argument swapping code. It accepts an
argument number of zero, which is invalid. It is handled in different
ways in different libcs, but i figured the best way to handle it in PHP
was to make the functioncall fail. Patch is attached.

Best regards,
Morten

PS. Thanks to mbn for whining :-)

-- 
Morten Poulsen <[EMAIL PROTECTED]>
http://www.afdelingp.dk/


Index: ext/standard/formatted_print.c
===
RCS file: /repository/php4/ext/standard/formatted_print.c,v
retrieving revision 1.46
diff -u -r1.46 formatted_print.c
--- ext/standard/formatted_print.c	28 Feb 2002 08:26:45 -	1.46
+++ ext/standard/formatted_print.c	21 Mar 2002 16:26:35 -
@@ -479,7 +479,12 @@
 temppos = inpos;
 while (isdigit((int)format[temppos])) temppos++;
 if (format[temppos] == '$') {
-	argnum = php_sprintf_getnumber(format, &inpos);
+	if ((argnum = php_sprintf_getnumber(format, &inpos)) == 0) {
+		efree(result);
+		efree(args);
+		php_error(E_WARNING, "%s(): zero is not a valid argument number", get_active_function_name(TSRMLS_C));
+		return NULL;
+	}
 	inpos++;  /* skip the '$' */
 } else {
 	argnum = currarg++;
Index: tests/strings/002.phpt
===
RCS file: /repository/php4/tests/strings/002.phpt,v
retrieving revision 1.3
diff -u -r1.3 002.phpt
--- tests/strings/002.phpt	9 Apr 2001 15:44:24 -	1.3
+++ tests/strings/002.phpt	21 Mar 2002 16:26:36 -
@@ -38,6 +38,7 @@
 printf("printf test 27:%3\$d %d %d\n", 1, 2, 3);
 printf("printf test 28:%2\$02d %1\$2d\n", 1, 2);
 printf("printf test 29:%2\$-2d %1\$2d\n", 1, 2);
+print("printf test 30:"); printf("%0\$s", 1); print("x\n");
 
 ?>
 --EXPECT--
@@ -72,3 +73,4 @@
 printf test 27:3 1 2
 printf test 28:02  1
 printf test 29:2   1
+printf test 30:x



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php


[PHP-DEV] patch for sprintf() argnum

2002-03-15 Thread Morten Poulsen

Hi,

I discovered a bug in sprintf()'s argument swapping code. It accepts an
argument number of zero, which is invalid. It is handled in different
ways in different libcs, but i figured the best way to handle it in PHP
was to make the functioncall fail. Patch is attached.

Best regards,
Morten

PS. Thanks to mbn for whining :-)



diff -ur php-4.1.2.orig/ext/standard/formatted_print.c php-4.1.2/ext/standard/formatted_print.c
--- php-4.1.2.orig/ext/standard/formatted_print.c	Fri Mar 15 16:33:12 2002
+++ php-4.1.2/ext/standard/formatted_print.c	Fri Mar 15 17:12:29 2002
@@ -479,7 +479,12 @@
 temppos = inpos;
 while (isdigit((int)format[temppos])) temppos++;
 if (format[temppos] == '$') {
-	argnum = php_sprintf_getnumber(format, &inpos);
+	if ((argnum = php_sprintf_getnumber(format, &inpos)) == 0) {
+		efree(result);
+		efree(args);
+		php_error(E_WARNING, "%s(): zero is not a valid argument number", get_active_function_name(TSRMLS_C));
+		return NULL;
+	}
 	inpos++;  /* skip the '$' */
 } else {
 	argnum = currarg++;
diff -ur php-4.1.2.orig/tests/strings/002.phpt php-4.1.2/tests/strings/002.phpt
--- php-4.1.2.orig/tests/strings/002.phpt	Fri Mar 15 16:33:13 2002
+++ php-4.1.2/tests/strings/002.phpt	Fri Mar 15 17:10:28 2002
@@ -38,6 +38,7 @@
 printf("printf test 27:%3\$d %d %d\n", 1, 2, 3);
 printf("printf test 28:%2\$02d %1\$2d\n", 1, 2);
 printf("printf test 29:%2\$-2d %1\$2d\n", 1, 2);
+print("printf test 30:"); printf("%0\$s"); print("x\n");
 
 ?>
 --EXPECT--
@@ -72,3 +73,4 @@
 printf test 27:3 1 2
 printf test 28:02  1
 printf test 29:2   1
+printf test 30:x



-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php


[PHP-DEV] PHP 4.0.6 & crypt ()

2001-06-27 Thread Morten Rønseth


Operating system: MacOS X 10.0.3
PHP version:  4.0.6
PHP Bug Type: *Encryption and hash functions
Bug description:  crypt () seems to be gone...

Hi,

Is "crypt ()" gone under Darwin 1.3.3...? I even compiled in
libmcrypt but still no dice.


Cheers,


-Morten

 

---
Rayon Interactive AS http://www.rayon.no
Morten Lerskau Rønseth   mailto:[EMAIL PROTECTED]
Karenslyst Allé 16d  Tlf.: (47) 2213 5250
0278 OsloFax : (47) 2213 5260
Norway   ICQ: 25163080

PGP fingerprint: F851 91B6 1D81 1409 8B62  3E14 5A60 65F8 5AF4 56AF


--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DEV] Bug #10812 Updated: libtool syntax error

2001-05-11 Thread morten

ID: 10812
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: Compile Failure
Operating system: Linux 2.4.3
PHP Version: 4.0 Latest CVS (2001-05-11)
Description: libtool syntax error

It appears that the problem was me not knowing I had to do a
separate buildconf and configure for Zend and TSRM.

perhaps mentioning this in the CVS howto-thingie?

Previous Comments:
---

[2001-05-11 06:53:55] [EMAIL PROTECTED]
Please use a fresh checkout of the Zend directory, as this problem does not occur for 
me.

---

[2001-05-11 06:42:22] [EMAIL PROTECTED]
root@Tenchi /usr/src/php4# make
Making all in Zend
make[1]: Entering directory `/usr/src/php4/Zend'
flex -Pzend -ozend_language_scanner.c -i
./zend_language_scanner.l
bison -y -p zend -v -d ./zend_language_parser.y -o
zend_language_parser.c
/bin/sh ../libtool --silent --mode=compile gcc
-DHAVE_CONFIG_H -I. -I. -I../main   -DLINUX=22
-DMOD_SSL=208102 -DEAPI -DUSE_EXPAT -DSUPPORT_UTF8
-DXML_BYTE_ORDER=12  -g -O2 -c zend_language_scanner.c
../libtool: line 1292: syntax error near unexpected token
`<'
../libtool: line 1292: `<<< ltmain.sh'
make[1]: *** [zend_language_scanner.lo] Error 2
make[1]: Leaving directory `/usr/src/php4/Zend'
make: *** [all-recursive] Error 1

---


Full Bug description available at: http://bugs.php.net/?id=10812


-- 
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] Bug #10812: libtool syntax error

2001-05-11 Thread morten

From: [EMAIL PROTECTED]
Operating system: Linux 2.4.3
PHP version:  4.0 Latest CVS (2001-05-11)
PHP Bug Type: Compile Failure
Bug description:  libtool syntax error

root@Tenchi /usr/src/php4# make
Making all in Zend
make[1]: Entering directory `/usr/src/php4/Zend'
flex -Pzend -ozend_language_scanner.c -i
./zend_language_scanner.l
bison -y -p zend -v -d ./zend_language_parser.y -o
zend_language_parser.c
/bin/sh ../libtool --silent --mode=compile gcc
-DHAVE_CONFIG_H -I. -I. -I../main   -DLINUX=22
-DMOD_SSL=208102 -DEAPI -DUSE_EXPAT -DSUPPORT_UTF8
-DXML_BYTE_ORDER=12  -g -O2 -c zend_language_scanner.c
../libtool: line 1292: syntax error near unexpected token
`<'
../libtool: line 1292: `<<< ltmain.sh'
make[1]: *** [zend_language_scanner.lo] Error 2
make[1]: Leaving directory `/usr/src/php4/Zend'
make: *** [all-recursive] Error 1


-- 
Edit Bug report at: http://bugs.php.net/?id=10812&edit=1



-- 
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] Bug #10748 Updated: LIBGD20 must be enabled manually in main/php_config.h

2001-05-11 Thread morten

ID: 10748
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: *Configuration Issues
Operating system: Linux 2.4.3
PHP Version: 4.0 Latest CVS (2001-05-09)
Description: LIBGD20 must be enabled manually in main/php_config.h

using todays CVS, the configure script successfully detects
libgd2

excellent!

(by the way... any eta on 4.0.6?)

Previous Comments:
---

[2001-05-10 05:54:53] [EMAIL PROTECTED]
I still have problems with Bug 10747, so I can't check it yet

---

[2001-05-10 05:24:16] [EMAIL PROTECTED]
Can you try the latest CVS again?
I have changed the configure script a lot..

--Jani


---

[2001-05-09 12:05:26] [EMAIL PROTECTED]
./configure 
  --prefix=/usr 
  --with-apxs=/usr/sbin/apxs 
  --with-config-file-path=/etc/httpd 
  --with-regex=system 
  --with-exec-dir=/usr/bin 
  --enable-safe-mode 
  --enable-debugger 
  --enable-magic-quotes 
  --enable-track-vars 
  --enable-memory-limit 
  --enable-ftp 
  --disable-debug 
  --disable-rpath 
  --with-bz2 
  --with-zlib=/usr 
  --with-gmp 
  --with-imap=shared,/usr 
  --with-ldap=shared,/usr 
  --with-mysql=shared,/usr 
  --with-pgsql=shared,/usr 
  --with-openssl=shared,/usr 
  --with-gd=shared,/usr 
  --with-jpeg-dir=/usr 
  --with-png-dir=/usr 
  --with-freetype-dir=/usr/local

I haven't got my config.log at the moment, as I updated to
newest CVS, and that failed while running buildconf...

---

[2001-05-09 08:29:04] [EMAIL PROTECTED]
It works for me...
Can you post your configure line and email your config.log file to [EMAIL PROTECTED] so that 
I can check into it?

--Wez.

---

[2001-05-09 07:44:25] [EMAIL PROTECTED]
the configure script doesn't detect libgd2 automatically

it is neccessary to put this in manually
#define HAVE_LIBGD20 1

---

The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.

Full Bug description available at: http://bugs.php.net/?id=10748


-- 
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] Bug #10747 Updated: buildconf fails with missing macros

2001-05-10 Thread morten

ID: 10747
User Update by: [EMAIL PROTECTED]
Status: Closed
Bug Type: Compile Failure
Operating system: Linux 2.4.3
PHP Version: 4.0 Latest CVS (2001-05-09)
Description: buildconf fails with missing macros

root@Tenchi /usr/src/php4# cvs -d
:pserver:[EMAIL PROTECTED]:/repository co php4
root@Tenchi /usr/src/php4# cvs -d
:pserver:[EMAIL PROTECTED]:/repository co Zend TSRM
root@Tenchi /usr/src/php4# ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
buildconf: automake version 1.4 (ok)
buildconf: libtool version 1.4 (ok)
rebuilding Makefile templates
rebuilding configure
autoconf: Undefined macros:
***BUG in Autoconf--please report*** AC_ADD_INCLUDE
***BUG in Autoconf--please report*** AC_ADD_LIBRARY_WITH_PATH
rebuilding acconfig.h
rebuilding main/php_config.h.in

Previous Comments:
---

[2001-05-10 05:22:30] [EMAIL PROTECTED]
Should be fixed now.


---

[2001-05-09 07:34:19] [EMAIL PROTECTED]
root@Tenchi /usr/src/php4# ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
buildconf: automake version 1.4 (ok)
buildconf: libtool version 1.4 (ok)
rebuilding Makefile templates
rebuilding configure
autoconf: Undefined macros:
***BUG in Autoconf--please report*** AC_ADD_INCLUDE
***BUG in Autoconf--please report*** AC_ADD_LIBRARY_WITH_PATH
rebuilding acconfig.h
rebuilding main/php_config.h.in

my autoconf is the one from ftp.gnu.org

---


Full Bug description available at: http://bugs.php.net/?id=10747


-- 
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] Bug #10748 Updated: LIBGD20 must be enabled manually in main/php_config.h

2001-05-10 Thread morten

ID: 10748
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: *Configuration Issues
Operating system: Linux 2.4.3
PHP Version: 4.0 Latest CVS (2001-05-09)
Description: LIBGD20 must be enabled manually in main/php_config.h

I still have problems with Bug 10747, so I can't check it yet

Previous Comments:
---

[2001-05-10 05:24:16] [EMAIL PROTECTED]
Can you try the latest CVS again?
I have changed the configure script a lot..

--Jani


---

[2001-05-09 12:05:26] [EMAIL PROTECTED]
./configure 
  --prefix=/usr 
  --with-apxs=/usr/sbin/apxs 
  --with-config-file-path=/etc/httpd 
  --with-regex=system 
  --with-exec-dir=/usr/bin 
  --enable-safe-mode 
  --enable-debugger 
  --enable-magic-quotes 
  --enable-track-vars 
  --enable-memory-limit 
  --enable-ftp 
  --disable-debug 
  --disable-rpath 
  --with-bz2 
  --with-zlib=/usr 
  --with-gmp 
  --with-imap=shared,/usr 
  --with-ldap=shared,/usr 
  --with-mysql=shared,/usr 
  --with-pgsql=shared,/usr 
  --with-openssl=shared,/usr 
  --with-gd=shared,/usr 
  --with-jpeg-dir=/usr 
  --with-png-dir=/usr 
  --with-freetype-dir=/usr/local

I haven't got my config.log at the moment, as I updated to
newest CVS, and that failed while running buildconf...

---

[2001-05-09 08:29:04] [EMAIL PROTECTED]
It works for me...
Can you post your configure line and email your config.log file to [EMAIL PROTECTED] so that 
I can check into it?

--Wez.

---

[2001-05-09 07:44:25] [EMAIL PROTECTED]
the configure script doesn't detect libgd2 automatically

it is neccessary to put this in manually
#define HAVE_LIBGD20 1

---


Full Bug description available at: http://bugs.php.net/?id=10748


-- 
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] Bug #10748 Updated: LIBGD20 must be enabled manually in main/php_config.h

2001-05-09 Thread morten

ID: 10748
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: *Configuration Issues
Operating system: Linux 2.4.3
PHP Version: 4.0 Latest CVS (2001-05-09)
Description: LIBGD20 must be enabled manually in main/php_config.h

./configure \
  --prefix=/usr \
  --with-apxs=/usr/sbin/apxs \
  --with-config-file-path=/etc/httpd \
  --with-regex=system \
  --with-exec-dir=/usr/bin \
  --enable-safe-mode \
  --enable-debugger \
  --enable-magic-quotes \
  --enable-track-vars \
  --enable-memory-limit \
  --enable-ftp \
  --disable-debug \
  --disable-rpath \
  --with-bz2 \
  --with-zlib=/usr \
  --with-gmp \
  --with-imap=shared,/usr \
  --with-ldap=shared,/usr \
  --with-mysql=shared,/usr \
  --with-pgsql=shared,/usr \
  --with-openssl=shared,/usr \
  --with-gd=shared,/usr \
  --with-jpeg-dir=/usr \
  --with-png-dir=/usr \
  --with-freetype-dir=/usr/local

I haven't got my config.log at the moment, as I updated to
newest CVS, and that failed while running buildconf...

Previous Comments:
---

[2001-05-09 08:29:04] [EMAIL PROTECTED]
It works for me...
Can you post your configure line and email your config.log file to [EMAIL PROTECTED] so that 
I can check into it?

--Wez.

---

[2001-05-09 07:44:25] [EMAIL PROTECTED]
the configure script doesn't detect libgd2 automatically

it is neccessary to put this in manually
#define HAVE_LIBGD20 1

---


Full Bug description available at: http://bugs.php.net/?id=10748


-- 
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] Bug #10748: LIBGD20 must be enabled manually in main/php_config.h

2001-05-09 Thread morten

From: [EMAIL PROTECTED]
Operating system: Linux 2.4.3
PHP version:  4.0 Latest CVS (2001-05-09)
PHP Bug Type: *Configuration Issues
Bug description:  LIBGD20 must be enabled manually in main/php_config.h

the configure script doesn't detect libgd2 automatically

it is neccessary to put this in manually
#define HAVE_LIBGD20 1


-- 
Edit Bug report at: http://bugs.php.net/?id=10748&edit=1



-- 
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] Bug #10747: buildconf fails with missing macros

2001-05-09 Thread morten

From: [EMAIL PROTECTED]
Operating system: Linux 2.4.3
PHP version:  4.0 Latest CVS (2001-05-09)
PHP Bug Type: Compile Failure
Bug description:  buildconf fails with missing macros

root@Tenchi /usr/src/php4# ./buildconf
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
buildconf: automake version 1.4 (ok)
buildconf: libtool version 1.4 (ok)
rebuilding Makefile templates
rebuilding configure
autoconf: Undefined macros:
***BUG in Autoconf--please report*** AC_ADD_INCLUDE
***BUG in Autoconf--please report*** AC_ADD_LIBRARY_WITH_PATH
rebuilding acconfig.h
rebuilding main/php_config.h.in

my autoconf is the one from ftp.gnu.org


-- 
Edit Bug report at: http://bugs.php.net/?id=10747&edit=1



-- 
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]




Re: [PHP-DEV] printf argument "swapping" patch

2001-04-09 Thread Morten Poulsen

Hi,

Rasmus Lerdorf <[EMAIL PROTECTED]> said:
> Would you mind writing a test case or two to go along with this patch?
> See the tests/README file for help on how to write these.

no, of cause. The attached patch also contains four more tests for
printf (tests/strings/002.phpt), which tests the added feature.

-- 
mortenp

Thus spake the master programmer: "Let the programmers be many and the
managers few -- then all will be productive."


diff -ur php-4.0.4pl1.orig/ext/standard/formatted_print.c 
php-4.0.4pl1/ext/standard/formatted_print.c
--- php-4.0.4pl1.orig/ext/standard/formatted_print.cFri Apr  6 16:07:49 2001
+++ php-4.0.4pl1/ext/standard/formatted_print.c Mon Apr  9 16:33:42 2001
@@ -390,8 +390,8 @@
 php_formatted_print(int ht, int *len)
 {
pval ***args;
-   int argc, size = 240, inpos = 0, outpos = 0;
-   int alignment, width, precision, currarg, adjusting;
+   int argc, size = 240, inpos = 0, outpos = 0, temppos;
+   int alignment, width, precision, currarg, adjusting, argnum;
char *format, *result, padding;
 
argc = ZEND_NUM_ARGS();
@@ -437,7 +437,23 @@
PRINTF_DEBUG(("sprintf: first looking at '%c', inpos=%d\n",
  format[inpos], inpos));
if (isascii((int)format[inpos]) && 
!isalpha((int)format[inpos])) {
-   /* first look for modifiers */
+   /* first look for argnum */
+   temppos = inpos;
+   while (isdigit((int)format[temppos])) temppos++;
+   if (format[temppos] == '$') {
+   argnum = php_sprintf_getnumber(format, &inpos);
+   inpos++;  /* skip the '$' */
+   } else {
+   argnum = currarg++;
+   }
+   if (argnum >= argc) {
+   efree(result);
+   efree(args);
+   php_error(E_WARNING, "%s(): too few 
+arguments",get_active_function_name());
+   return NULL;
+   }
+
+   /* after argnum comes modifiers */
PRINTF_DEBUG(("sprintf: looking for modifiers\n"
  "sprintf: now looking at 
'%c', inpos=%d\n",
  format[inpos], inpos));
@@ -469,7 +485,7 @@
}
PRINTF_DEBUG(("sprintf: width=%d\n", width));
 
-   /* after width comes precision */
+   /* after width and argnum comes precision */
if (format[inpos] == '.') {
inpos++;
PRINTF_DEBUG(("sprintf: getting precision\n"));
@@ -486,6 +502,7 @@
PRINTF_DEBUG(("sprintf: precision=%d\n", precision));
} else {
width = precision = 0;
+   argnum = currarg++;
}
 
if (format[inpos] == 'l') {
@@ -495,67 +512,67 @@
/* now we expect to find a type specifier */
switch (format[inpos]) {
case 's':
-   convert_to_string_ex(args[currarg]);
+   convert_to_string_ex(args[argnum]);
php_sprintf_appendstring(&result, &outpos, 
&size,
-  
  (*args[currarg])->value.str.val,
+  
+  (*args[argnum])->value.str.val,
   
  width, precision, padding,
   
  alignment,
-  
  (*args[currarg])->value.str.len,
+  
+  (*args[argnum])->value.str.len,
   
  0, expprec);
break;
 
case 'd':
-   convert_to_long_ex(args[currarg]);
+   convert_to_long_ex(args[argnum]);
   

Re: [PHP-DEV] printf argument "swapping" patch

2001-04-06 Thread Morten Poulsen

Morten Poulsen <[EMAIL PROTECTED]> said:
> i'll fix it and send a new patch, sorry..

Allright, here is the new patch. Sorry about all the fuzz.

Greetings,
Morten

-- 
mortenp

Thus spake the master programmer: "Let the programmers be many and the
managers few -- then all will be productive."


diff -ur php-4.0.4pl1.orig/ext/standard/formatted_print.c 
php-4.0.4pl1/ext/standard/formatted_print.c
--- php-4.0.4pl1.orig/ext/standard/formatted_print.cFri Apr  6 16:07:49 2001
+++ php-4.0.4pl1/ext/standard/formatted_print.c Fri Apr  6 18:19:38 2001
@@ -391,7 +391,7 @@
 {
pval ***args;
int argc, size = 240, inpos = 0, outpos = 0;
-   int alignment, width, precision, currarg, adjusting;
+   int alignment, width, precision, currarg, adjusting, argnum, tempnum;
char *format, *result, padding;
 
argc = ZEND_NUM_ARGS();
@@ -459,17 +459,38 @@
  (alignment == ALIGN_LEFT) ? 
"left" : "right"));
 
 
-   /* after modifiers comes width */
+   /* after modifiers comes width or argnum */
if (isdigit((int)format[inpos])) {
-   PRINTF_DEBUG(("sprintf: getting width\n"));
-   width = php_sprintf_getnumber(format, &inpos);
-   adjusting |= ADJ_WIDTH;
+   PRINTF_DEBUG(("sprintf: getting width or 
+argnum\n"));
+   tempnum = php_sprintf_getnumber(format, 
+&inpos);
+   if (format[inpos] == '$') {
+   argnum = tempnum;
+   inpos++;  /* skip the '$' */
+   if (isdigit((int)format[inpos])) {
+   width = 
+php_sprintf_getnumber(format, &inpos);
+   adjusting |= ADJ_WIDTH;
+   } else {
+   width = 0;
+   }
+   } else {
+   argnum = currarg++;
+   width = tempnum;
+   adjusting |= ADJ_WIDTH;
+   }
} else {
+   argnum = currarg++;
width = 0;
}
PRINTF_DEBUG(("sprintf: width=%d\n", width));
 
-   /* after width comes precision */
+   if (argnum >= argc) {
+   efree(result);
+   efree(args);
+   php_error(E_WARNING, "%s(): too few 
+arguments",get_active_function_name());
+   return NULL;
+   }
+
+   /* after width and argnum comes precision */
if (format[inpos] == '.') {
inpos++;
PRINTF_DEBUG(("sprintf: getting precision\n"));
@@ -486,6 +507,7 @@
PRINTF_DEBUG(("sprintf: precision=%d\n", precision));
} else {
width = precision = 0;
+   argnum = currarg++;
}
 
if (format[inpos] == 'l') {
@@ -495,67 +517,67 @@
/* now we expect to find a type specifier */
switch (format[inpos]) {
case 's':
-   convert_to_string_ex(args[currarg]);
+   convert_to_string_ex(args[argnum]);
php_sprintf_appendstring(&result, &outpos, 
&size,
-  
  (*args[currarg])->value.str.val,
+  
+  (*args[argnum])->value.str.val,
   
  width, precision, padding,
   
  alignment,
-   

Re: [PHP-DEV] printf argument "swapping" patch

2001-04-06 Thread Morten Poulsen

Morten Poulsen <[EMAIL PROTECTED]> said:
> I hope it's usefull :-)

is's not! i just found a bug.. i'll fix it and send a new patch, sorry..

-- 
mortenp

Thus spake the master programmer: "Let the programmers be many and the
managers few -- then all will be productive."

-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DEV] printf argument "swapping" patch

2001-04-06 Thread Morten Poulsen

Hi PHP Team,

I have made a patch, so PHP can support swapping of arguments to printf
(and friends), the way libc do it. This is especialy usefull when doing
internationalization (see
http://www.gnu.org/manual/gettext/html_mono/gettext.html#SEC17 for
example), but it is also usefull when you need to print some argument
several times.

I hope it's usefull :-)

Greetings,
Morten

-- 
mortenp

"Programs expand to fill the memory available to hold them"
--- Parkinson's Law


diff -ur php-4.0.4pl1.orig/ext/standard/formatted_print.c 
php-4.0.4pl1/ext/standard/formatted_print.c
--- php-4.0.4pl1.orig/ext/standard/formatted_print.cFri Apr  6 16:07:49 2001
+++ php-4.0.4pl1/ext/standard/formatted_print.c Fri Apr  6 16:48:02 2001
@@ -391,7 +391,7 @@
 {
pval ***args;
int argc, size = 240, inpos = 0, outpos = 0;
-   int alignment, width, precision, currarg, adjusting;
+   int alignment, width, precision, currarg, adjusting, argnum, tempnum;
char *format, *result, padding;
 
argc = ZEND_NUM_ARGS();
@@ -459,17 +459,38 @@
  (alignment == ALIGN_LEFT) ? 
"left" : "right"));
 
 
-   /* after modifiers comes width */
+   /* after modifiers comes width or argnum */
if (isdigit((int)format[inpos])) {
-   PRINTF_DEBUG(("sprintf: getting width\n"));
-   width = php_sprintf_getnumber(format, &inpos);
-   adjusting |= ADJ_WIDTH;
+   PRINTF_DEBUG(("sprintf: getting width or 
+argnum\n"));
+   tempnum = php_sprintf_getnumber(format, 
+&inpos);
+   if (format[inpos] == '$') {
+   argnum = tempnum;
+   inpos++;  /* skip the '$' */
+   if (isdigit((int)format[inpos])) {
+   width = 
+php_sprintf_getnumber(format, &inpos);
+   adjusting |= ADJ_WIDTH;
+   } else {
+   width = 0;
+   }
+   } else {
+   argnum = currarg++;
+   width = tempnum;
+   adjusting |= ADJ_WIDTH;
+   }
} else {
+   argnum = currarg++;
width = 0;
}
PRINTF_DEBUG(("sprintf: width=%d\n", width));
 
-   /* after width comes precision */
+   if (argnum >= argc) {
+   efree(result);
+   efree(args);
+   php_error(E_WARNING, "%s(): too few 
+arguments",get_active_function_name());
+   return NULL;
+   }
+
+   /* after width and argnum comes precision */
if (format[inpos] == '.') {
inpos++;
PRINTF_DEBUG(("sprintf: getting precision\n"));
@@ -495,67 +516,67 @@
/* now we expect to find a type specifier */
switch (format[inpos]) {
case 's':
-   convert_to_string_ex(args[currarg]);
+   convert_to_string_ex(args[argnum]);
php_sprintf_appendstring(&result, &outpos, 
&size,
-  
  (*args[currarg])->value.str.val,
+  
+  (*args[argnum])->value.str.val,
   
  width, precision, padding,
   
  alignment,
-

[PHP-DEV] PHP 4.0 Bug #9824: lack of bidirectional popen()

2001-03-18 Thread morten

From: [EMAIL PROTECTED]
Operating system: Linux 2.4.2
PHP version:  4.0.4pl1
PHP Bug Type: Feature/Change Request
Bug description:  lack of bidirectional popen()

I'm using php for shell scripting, and my current project is
an indexer of smb shares.
using shell commands (in this case smbclient) without the
ability to interact, Creates a serious bottleneck, as it
becomes neccessary to execute smbclient once for each folder
on each share on each host on the network.

well that's my two cents.


-- 
Edit Bug report at: http://bugs.php.net/?id=9824&edit=1



-- 
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] PHP 4.0 Bug #9421: &PHPSESSID should use &

2001-02-23 Thread morten

From: [EMAIL PROTECTED]
Operating system: Linux
PHP version:  4.0.4pl1
PHP Bug Type: *Session related
Bug description:  &PHPSESSID should use &

According to this page:

http://www.htmlhelp.com/tools/validator/problems.html#amp

You must use & and not & in URLs to validate documents
properly, and in order to Netscape 3.x to not fail it.

PHP sessions generate this in the URL, like:
&PHPSESSID=4f07bc5ee9353dc
which should have been:
&PHPSESSID=4f07bc5ee9353dc

should be self explainable


-- 
Edit Bug report at: http://bugs.php.net/?id=9421&edit=1



-- 
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]