Sha256: fd554713f4be1c30f6633f09c77963c5350da198d9ce6176db5b418ddbc10f5e
Contents?: true
Size: 1.74 KB
Versions: 3
Compression:
Stored size: 1.74 KB
Contents
/** * Copyright (C) 2005, 2006, 2007, 2008 Gregoire Lejeune <gregoire.lejeune@free.fr> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "xslt.h" /** * parameters support, patch from : * * Eustáquio "TaQ" Rangel * eustaquiorangel@yahoo.com * http://beam.to/taq * */ VALUE each_pair( VALUE obj ) { return rb_funcall( obj, rb_intern("each"), 0, 0 ); } VALUE process_pair( VALUE pair, VALUE rbparams ) { VALUE key, value; // Thx to alex__ int count = FIX2INT( rb_funcall( rbparams, rb_intern("size"), 0, 0 ) ); // static int count = 0; char *xValue = NULL; Check_Type( pair, T_ARRAY ); key = RARRAY_PTR(pair)[0]; value = rb_obj_clone( RARRAY_PTR(pair)[1] ); Check_Type( key, T_STRING ); Check_Type( value, T_STRING ); xValue = StringValuePtr( value ); if( xValue[0] != '\'' && xValue[strlen( xValue ) - 1] != '\'' ) { value = rb_str_concat( value, rb_str_new2( "'" ) ); value = rb_str_concat( rb_str_new2( "'" ), value ); } rb_ary_store( rbparams, count, key ); rb_ary_store( rbparams, count + 1, value ); count += 2; return Qnil; }
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby-xslt-0.9.10 | ext/xslt_lib/parameters.c |
ruby-xslt-0.9.9 | ext/xslt_lib/parameters.c |
ruby-xslt-0.9.8 | ext/xslt_lib/parameters.c |