mirror of
				git://git.code.sf.net/p/cdesktopenv/code
				synced 2025-03-09 15:50:02 +00:00 
			
		
		
		
	libast: Update cdt(3): Allow empty strings in (dt)trees
This backports most of the Cdt (container data types) mechanism from the ksh 93v- beta, based on ground work done by OpenSUSE: https://build.opensuse.org/package/view_file/shells/ksh/ksh93-dttree-crash.dif plus adaptations to match ksh 93u+m and an updated manual page (src/lib/libast/man/cdt.3) added directly from the 93v- sources. | Thu Dec 20 12:48:02 UTC 2012 - werner@suse.de | | - Add ksh93-dttree-crash.dif - Allow empty strings in (dt)trees | (bnc#795324) | | Fri Oct 25 14:07:57 UTC 2013 - werner@suse.de | | - Rework patch ksh93-dttree-crash.dif As usual, precious little information is available because the OpenSUSE bug report is currently closed to the public: https://bugzilla.opensuse.org/show_bug.cgi?id=795324 However, a cursory inspection suggests that this code contains improvements to do with concurrent processing and related robustness. The new cdt.3 manual page adds a lot about that. This has been in production use on OpenSUSE for a long time, so hopefully this will make ksh a little more stable again. Only one way to find out: let's commit and test this... BTW, to get a nice manual, use groff and ghostscript's ps2pdf: $ groff -tman src/lib/libast/man/cdt.3 | ps2pdf - cdt.3.pdf
This commit is contained in:
		
							parent
							
								
									aa2644ab84
								
							
						
					
					
						commit
						cc4927529b
					
				
					 21 changed files with 708 additions and 210 deletions
				
			
		| 
						 | 
				
			
			@ -184,7 +184,10 @@ static Namval_t *scope(register Namval_t *np,register struct lval *lvalue,int as
 | 
			
		|||
			{
 | 
			
		||||
				ap = nv_arrayptr(np);
 | 
			
		||||
				if(ap && !ap->table)
 | 
			
		||||
				{
 | 
			
		||||
					ap->table = dtopen(&_Nvdisc,Dtoset);
 | 
			
		||||
					dtuserdata(ap->table,shp,1);
 | 
			
		||||
				}
 | 
			
		||||
				if(ap && ap->table && (nq=nv_search(nv_getsub(np),ap->table,NV_ADD)))
 | 
			
		||||
					nq->nvenv = (char*)np;
 | 
			
		||||
				if(nq && nv_isnull(nq))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue