Wez Furlong wrote:

Try something like this:

if (rep_CONSP(in)) {
   array_init(return_value); /* sets it up as an array */

  for (i = in; i != Qnil; i = rep_CDR(i)) {
     zval *tmp;

     MAKE_STD_ZVAL(tmp);
     rep_data_converter(rep_CAR(i), tmp);
     add_next_index_zval(return_value, tmp); /* equivalent to $ret[] = $tmp
*/
  }
}




if(rep_CONSP(in)) {
zval php_array;
//zend_hash_init(&php_array,100,
repv i,t;
for(i=in;i!=Qnil;i=rep_CDR(i)) {
printf("REP FWD to next element\n");
rep_data_converter(rep_CAR(i),&t);
/* ??? add t to array php_array */
}
}







I guess it almost works :

   if(rep_CONSP(in)) {
       repv i;
       for(i=in;i!=Qnil;i=rep_CDR(i)) {
           zval *t;
           MAKE_STD_ZVAL(t);
           printf("REP FWD to next element PT1\n");
           rep_data_converter(rep_CAR(i),t);
           printf("REP FWD to next element PT2\n");
           add_next_index_zval(return_value, t);
           printf("REP FWD to next element PT3\n");
           /* ??? add t to array() */
       }
   }

---8<---

REP FWD to next element PT1
REP FWD to next element PT2
rep: received fatal signal: Segmentation fault

struct debug_buf common:

Backtrace in `fatal_signal_handler':
       <(null)+1107463240>
       <add_next_index_zval+28>
       <rep_data_converter+215>
       <zif_rep_eval+201>
       <execute+7234>
       <zend_execute_scripts+107>
       <php_execute_script+316>
       <main+1629>

Lisp backtrace:

Segmentation fault
---8<---

Is that rep's or php's problem?
May be t should be duplicated?
If yes, how?

--
NetCat



------------------------------------------------------
SPAM-Free 10mb Free email + Antivirus + POP3 + more...
Get it at http://www.doal.co.il:81/free/?c=all-spam

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



Reply via email to