| 
					
				 | 
			
			
				@@ -2337,7 +2337,10 @@ router_set_status(const char *digest, int up) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /** Add <b>router</b> to the routerlist, if we don't already have it.  Replace 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * older entries (if any) with the same key.  Note: Callers should not hold 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * their pointers to <b>router</b> if this function fails; <b>router</b> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- * will either be inserted into the routerlist or freed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * will either be inserted into the routerlist or freed. Similarly, even 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * if this call succeeds, they should not hold their pointers to 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * <b>router</b> after subsequent calls with other routerinfo's -- they 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * might cause the original routerinfo to get freed. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Returns >= 0 if the router was added; less than 0 if it was not. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2863,13 +2866,13 @@ router_load_routers_from_string(const char *s, const char *eos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (purpose != ROUTER_PURPOSE_GENERAL) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ri->cache_info.do_not_cache = 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if (router_add_to_routerlist(ri, &msg, from_cache, !from_cache) >= 0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (router_add_to_routerlist(ri, &msg, from_cache, !from_cache) >= 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       smartlist_add(changed, ri); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      routerlist_descriptors_added(changed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      smartlist_clear(changed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if (smartlist_len(changed)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    routerlist_descriptors_added(changed); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   routerlist_assert_ok(routerlist); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   router_rebuild_store(0, 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |