|  | @@ -579,6 +579,7 @@ void* laget_InstanceSelf(void* instace){
 | 
	
		
			
				|  |  |      return instace;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  const char* LA_N_A="N/A";
 | 
	
		
			
				|  |  | +void *la_GetReadDBInstNUID(char *ReferReadNUID);
 | 
	
		
			
				|  |  |  void laget_InstanceUID(void* instance, char* buf, char** ptr){
 | 
	
		
			
				|  |  |      int level; laMemNodeHyper* m=memGetHead(instance,&level);
 | 
	
		
			
				|  |  |      if(level!=2||!m) return; *ptr=LA_N_A;
 | 
	
	
		
			
				|  | @@ -587,7 +588,12 @@ void laget_InstanceUID(void* instance, char* buf, char** ptr){
 | 
	
		
			
				|  |  |  void laset_InstanceUID(void* instance, char* buf){
 | 
	
		
			
				|  |  |      int level; laMemNodeHyper* m=memGetHead(instance,&level);
 | 
	
		
			
				|  |  |      if(level!=2||!m) return;
 | 
	
		
			
				|  |  | -    if(!buf[0]) memCreateNUID(m);
 | 
	
		
			
				|  |  | +    char _buf[40];
 | 
	
		
			
				|  |  | +    if(!buf[0]){ memCreateNUID(_buf,m); buf=_buf; }
 | 
	
		
			
				|  |  | +    laListHandle *l = hsh16MDoHashNUID(&MAIN.DBInst2, m->NUID.String);
 | 
	
		
			
				|  |  | +    laMemNodeHyper* im=0;
 | 
	
		
			
				|  |  | +    for (im = l->pFirst; im; im = m->Item.pNext){ if(im==m) break; }
 | 
	
		
			
				|  |  | +    if(im){ lstRemoveItem(l,im); laListHandle *nl = hsh16MDoHashNUID(&MAIN.DBInst2, buf); lstAppendItem(nl,im); }else{ im=m; /* Unlikely */ }
 | 
	
		
			
				|  |  |      sprintf(m->NUID.String,"%.30s",buf);
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  void* laget_SaverDummy(void* instance, laPropIterator* pi){
 |