Changeset 229

Show
Ignore:
Timestamp:
09/26/2007 17:54:09 (14 months ago)
Author:
zimbatm
Message:

Applied patch by archengule for ticket #99, works like a charm !

Location:
trunk/lib
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/lib/camping-unabridged.rb

    r224 r229  
    620620    def qsp(q, d='&;', y=nil, z=H[]) 
    621621        m = proc {|_,o,n|o.u(n,&m)rescue([*o]<<n)} 
    622         q.to_s. 
    623             split(/[#{d}]+ */n). 
    624             inject((b,z=z,H[])[0]) { |h,p| k, v=un(p).split('=',2) 
     622        (q.to_s.split(/[#{d}]+ */n) - [""]). 
     623            inject((b,z=z,H[])[0]) { |h,p|  
     624              k, v=un(p).split('=',2) 
    625625                h.u(k.split(/[\]\[]+/).reverse. 
    626626                    inject(y||v) { |x,i| H[i,x] },&m) 
  • trunk/lib/camping.rb

    r224 r229  
    4040/[^ \w.-]+/n){'%'+($&.unpack('H2'*$&.size)*'%').upcase}.tr(' ','+')end;def un s 
    4141s.tr('+',' ').gsub(/%([\da-f]{2})/in){[$1].pack('H*')}end;def qsp q,d='&;',y= 
    42 nil,z=H[];m=proc{|_,o,n|o.u(n,&m)rescue([*o]<<n)};q.to_s.split(/[#{d}]+ */n). 
     42nil,z=H[];m=proc{|_,o,n|o.u(n,&m)rescue([*o]<<n)};(q.to_s.split(/[#{d}]+ */n)-['']). 
    4343inject((b,z=z,H[])[0]){|h,p|k,v=un(p).split('=',2);h.u k.split(/[\]\[]+/). 
    4444reverse.inject(y||v){|x,i|H[i,x]},&m}end;def kp s;c=qsp(s,';,')end;def