mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	spa-json: return value from spa_json_next()
So that we can check for errors or successful EOF.
This commit is contained in:
		
							parent
							
								
									1078df5212
								
							
						
					
					
						commit
						c954567021
					
				
					 1 changed files with 8 additions and 5 deletions
				
			
		| 
						 | 
					@ -323,7 +323,10 @@ static inline bool spa_json_get_error(struct spa_json *iter, const char *start,
 | 
				
			||||||
static inline int spa_json_enter_container(struct spa_json *iter, struct spa_json *sub, char type)
 | 
					static inline int spa_json_enter_container(struct spa_json *iter, struct spa_json *sub, char type)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	const char *value;
 | 
						const char *value;
 | 
				
			||||||
	if (spa_json_next(iter, &value) <= 0 || *value != type)
 | 
						int len;
 | 
				
			||||||
 | 
						if ((len = spa_json_next(iter, &value)) <= 0)
 | 
				
			||||||
 | 
							return len;
 | 
				
			||||||
 | 
						if (*value != type)
 | 
				
			||||||
		return -1;
 | 
							return -1;
 | 
				
			||||||
	spa_json_enter(iter, sub);
 | 
						spa_json_enter(iter, sub);
 | 
				
			||||||
	return 1;
 | 
						return 1;
 | 
				
			||||||
| 
						 | 
					@ -411,7 +414,7 @@ static inline int spa_json_get_float(struct spa_json *iter, float *res)
 | 
				
			||||||
	const char *value;
 | 
						const char *value;
 | 
				
			||||||
	int len;
 | 
						int len;
 | 
				
			||||||
	if ((len = spa_json_next(iter, &value)) <= 0)
 | 
						if ((len = spa_json_next(iter, &value)) <= 0)
 | 
				
			||||||
		return -1;
 | 
							return len;
 | 
				
			||||||
	return spa_json_parse_float(value, len, res);
 | 
						return spa_json_parse_float(value, len, res);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -453,7 +456,7 @@ static inline int spa_json_get_int(struct spa_json *iter, int *res)
 | 
				
			||||||
	const char *value;
 | 
						const char *value;
 | 
				
			||||||
	int len;
 | 
						int len;
 | 
				
			||||||
	if ((len = spa_json_next(iter, &value)) <= 0)
 | 
						if ((len = spa_json_next(iter, &value)) <= 0)
 | 
				
			||||||
		return -1;
 | 
							return len;
 | 
				
			||||||
	return spa_json_parse_int(value, len, res);
 | 
						return spa_json_parse_int(value, len, res);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -486,7 +489,7 @@ static inline int spa_json_get_bool(struct spa_json *iter, bool *res)
 | 
				
			||||||
	const char *value;
 | 
						const char *value;
 | 
				
			||||||
	int len;
 | 
						int len;
 | 
				
			||||||
	if ((len = spa_json_next(iter, &value)) <= 0)
 | 
						if ((len = spa_json_next(iter, &value)) <= 0)
 | 
				
			||||||
		return -1;
 | 
							return len;
 | 
				
			||||||
	return spa_json_parse_bool(value, len, res);
 | 
						return spa_json_parse_bool(value, len, res);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -588,7 +591,7 @@ static inline int spa_json_get_string(struct spa_json *iter, char *res, int maxl
 | 
				
			||||||
	const char *value;
 | 
						const char *value;
 | 
				
			||||||
	int len;
 | 
						int len;
 | 
				
			||||||
	if ((len = spa_json_next(iter, &value)) <= 0)
 | 
						if ((len = spa_json_next(iter, &value)) <= 0)
 | 
				
			||||||
		return -1;
 | 
							return len;
 | 
				
			||||||
	return spa_json_parse_stringn(value, len, res, maxlen);
 | 
						return spa_json_parse_stringn(value, len, res, maxlen);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue