mirror of https://github.com/xqemu/xqemu.git
QString: Introduce qstring_append_chr()
It appends a C char to a QString. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
8ff5a7d346
commit
6fe9565c5b
24
qstring.c
24
qstring.c
|
@ -53,24 +53,38 @@ QString *qstring_from_str(const char *str)
|
|||
return qstring;
|
||||
}
|
||||
|
||||
/* qstring_append(): Append a C string to a QString
|
||||
*/
|
||||
void qstring_append(QString *qstring, const char *str)
|
||||
static void capacity_increase(QString *qstring, size_t len)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
|
||||
if (qstring->capacity < (qstring->length + len)) {
|
||||
qstring->capacity += len;
|
||||
qstring->capacity *= 2; /* use exponential growth */
|
||||
|
||||
qstring->string = qemu_realloc(qstring->string, qstring->capacity + 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* qstring_append(): Append a C string to a QString
|
||||
*/
|
||||
void qstring_append(QString *qstring, const char *str)
|
||||
{
|
||||
size_t len = strlen(str);
|
||||
|
||||
capacity_increase(qstring, len);
|
||||
memcpy(qstring->string + qstring->length, str, len);
|
||||
qstring->length += len;
|
||||
qstring->string[qstring->length] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* qstring_append_chr(): Append a C char to a QString
|
||||
*/
|
||||
void qstring_append_chr(QString *qstring, int c)
|
||||
{
|
||||
capacity_increase(qstring, 1);
|
||||
qstring->string[qstring->length++] = c;
|
||||
qstring->string[qstring->length] = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* qobject_to_qstring(): Convert a QObject to a QString
|
||||
*/
|
||||
|
|
|
@ -14,6 +14,7 @@ QString *qstring_new(void);
|
|||
QString *qstring_from_str(const char *str);
|
||||
const char *qstring_get_str(const QString *qstring);
|
||||
void qstring_append(QString *qstring, const char *str);
|
||||
void qstring_append_chr(QString *qstring, int c);
|
||||
QString *qobject_to_qstring(const QObject *obj);
|
||||
|
||||
#endif /* QSTRING_H */
|
||||
|
|
Loading…
Reference in New Issue