qlit: add QLIT_QNULL and QLIT_BOOL
As they are going to be used in the following patches. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20170825105913.4060-9-marcandre.lureau@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									e2346a1952
								
							
						
					
					
						commit
						6c6084c1b0
					
				| @ -23,6 +23,7 @@ typedef struct QLitObject QLitObject; | ||||
| struct QLitObject { | ||||
|     int type; | ||||
|     union { | ||||
|         bool qbool; | ||||
|         int64_t qnum; | ||||
|         const char *qstr; | ||||
|         QLitDictEntry *qdict; | ||||
| @ -35,6 +36,10 @@ struct QLitDictEntry { | ||||
|     QLitObject value; | ||||
| }; | ||||
| 
 | ||||
| #define QLIT_QNULL \ | ||||
|     { .type = QTYPE_QNULL } | ||||
| #define QLIT_QBOOL(val) \ | ||||
|     { .type = QTYPE_QBOOL, .value.qbool = (val) } | ||||
| #define QLIT_QNUM(val) \ | ||||
|     { .type = QTYPE_QNUM, .value.qnum = (val) } | ||||
| #define QLIT_QSTR(val) \ | ||||
|  | ||||
| @ -50,6 +50,8 @@ bool qlit_equal_qobject(const QLitObject *lhs, const QObject *rhs) | ||||
|     } | ||||
| 
 | ||||
|     switch (lhs->type) { | ||||
|     case QTYPE_QBOOL: | ||||
|         return lhs->value.qbool == qbool_get_bool(qobject_to_qbool(rhs)); | ||||
|     case QTYPE_QNUM: | ||||
|         g_assert(qnum_get_try_int(qobject_to_qnum(rhs), &val)); | ||||
|         return lhs->value.qnum == val; | ||||
| @ -81,6 +83,8 @@ bool qlit_equal_qobject(const QLitObject *lhs, const QObject *rhs) | ||||
| 
 | ||||
|         return helper.result; | ||||
|     } | ||||
|     case QTYPE_QNULL: | ||||
|         return true; | ||||
|     default: | ||||
|         break; | ||||
|     } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Marc-André Lureau
						Marc-André Lureau