/** * qnum_from_double(): Create a new QNum from a double * * Return strong reference. */ QNum *qnum_from_double(double value) { QNum *qn = g_new(QNum, 1); qobject_init(QOBJECT(qn), QTYPE_QNUM); qn->kind = QNUM_DOUBLE; qn->u.dbl = value; return qn; }
/** * qnum_from_uint(): Create a new QNum from an uint64_t * * Return strong reference. */ QNum *qnum_from_uint(uint64_t value) { QNum *qn = g_new(QNum, 1); qobject_init(QOBJECT(qn), QTYPE_QNUM); qn->kind = QNUM_U64; qn->u.u64 = value; return qn; }
/** * qstring_from_substr(): Create a new QString from a C string substring * * Return string reference */ QString *qstring_from_substr(const char *str, int start, int end) { QString *qstring; qstring = g_malloc(sizeof(*qstring)); qobject_init(QOBJECT(qstring), QTYPE_QSTRING); qstring->length = end - start + 1; qstring->capacity = qstring->length; qstring->string = g_malloc(qstring->capacity + 1); memcpy(qstring->string, str + start, qstring->length); qstring->string[qstring->length] = 0; return qstring; }