mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	properties: add _clear function
This commit is contained in:
		
							parent
							
								
									e6c023cd34
								
							
						
					
					
						commit
						3cdd52832e
					
				
					 2 changed files with 16 additions and 13 deletions
				
			
		| 
						 | 
					@ -182,19 +182,24 @@ pw_properties_new_string(const char *str)
 | 
				
			||||||
 * \memberof pw_properties
 | 
					 * \memberof pw_properties
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
struct pw_properties *pw_properties_copy(const struct pw_properties *properties)
 | 
					struct pw_properties *pw_properties_copy(const struct pw_properties *properties)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return pw_properties_new_dict(&properties->dict);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** Clear a properties object
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \param properties properties to clear
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \memberof pw_properties
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void pw_properties_clear(struct pw_properties *properties)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct properties *impl = SPA_CONTAINER_OF(properties, struct properties, this);
 | 
						struct properties *impl = SPA_CONTAINER_OF(properties, struct properties, this);
 | 
				
			||||||
	struct pw_properties *copy;
 | 
					 | 
				
			||||||
	struct spa_dict_item *item;
 | 
						struct spa_dict_item *item;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	copy = pw_properties_new(NULL, NULL);
 | 
					 | 
				
			||||||
	if (copy == NULL)
 | 
					 | 
				
			||||||
		return NULL;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	pw_array_for_each(item, &impl->items)
 | 
						pw_array_for_each(item, &impl->items)
 | 
				
			||||||
		add_func(copy, strdup(item->key), item->value ? strdup(item->value) : NULL);
 | 
							clear_item(item);
 | 
				
			||||||
 | 
						pw_array_reset(&impl->items);
 | 
				
			||||||
	return copy;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Update properties
 | 
					/** Update properties
 | 
				
			||||||
| 
						 | 
					@ -228,11 +233,7 @@ int pw_properties_update(struct pw_properties *props,
 | 
				
			||||||
void pw_properties_free(struct pw_properties *properties)
 | 
					void pw_properties_free(struct pw_properties *properties)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct properties *impl = SPA_CONTAINER_OF(properties, struct properties, this);
 | 
						struct properties *impl = SPA_CONTAINER_OF(properties, struct properties, this);
 | 
				
			||||||
	struct spa_dict_item *item;
 | 
						pw_properties_clear(properties);
 | 
				
			||||||
 | 
					 | 
				
			||||||
	pw_array_for_each(item, &impl->items)
 | 
					 | 
				
			||||||
		clear_item(item);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	pw_array_clear(&impl->items);
 | 
						pw_array_clear(&impl->items);
 | 
				
			||||||
	free(impl);
 | 
						free(impl);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,6 +60,8 @@ int
 | 
				
			||||||
pw_properties_update(struct pw_properties *oldprops,
 | 
					pw_properties_update(struct pw_properties *oldprops,
 | 
				
			||||||
		     const struct spa_dict *dict);
 | 
							     const struct spa_dict *dict);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void pw_properties_clear(struct pw_properties *properties);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
pw_properties_free(struct pw_properties *properties);
 | 
					pw_properties_free(struct pw_properties *properties);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue