* but spaces.
*/
void
-virSkipSpacesBackwards(const char *str, char **endp)
+virSkipSpacesBackwards(const char *str,
+ const char **endp)
{
- /* Casting away const is safe, since virTrimSpaces does not
- * modify string with this particular usage. */
- char *s = (char*) str;
+ const char *end;
if (!*endp)
- *endp = s + strlen(s);
- virTrimSpaces(s, endp);
- if (s == *endp)
+ end = str + strlen(str);
+ else
+ end = *endp;
+
+ while (end > str && g_ascii_isspace(end[-1]))
+ end--;
+
+ if (str == end)
*endp = NULL;
+ else
+ *endp = end;
}
/**
void virSkipSpacesAndBackslash(const char **str) ATTRIBUTE_NONNULL(1);
void virSkipToDigit(const char **str) ATTRIBUTE_NONNULL(1);
void virTrimSpaces(char *str, char **endp) ATTRIBUTE_NONNULL(1);
-void virSkipSpacesBackwards(const char *str, char **endp)
+void virSkipSpacesBackwards(const char *str, const char **endp)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
bool virStringIsEmpty(const char *str);
{
int ret = -1;
const char *cur;
- char *eol = NULL;
+ const char *eol = NULL;
virSysinfoBIOSDef *def;
if ((cur = strstr(base, "BIOS Information")) == NULL)
{
int ret = -1;
const char *cur;
- char *eol = NULL;
+ const char *eol = NULL;
virSysinfoSystemDef *def;
if ((cur = strstr(base, "System Information")) == NULL)
size_t *nbaseBoard)
{
const char *cur;
- char *eol = NULL;
+ const char *eol = NULL;
virSysinfoBaseBoardDef *boards = NULL;
size_t nboards = 0;
{
int ret = -1;
const char *cur;
- char *eol = NULL;
+ const char *eol = NULL;
virSysinfoChassisDef *def;
if ((cur = strstr(base, "Chassis Information")) == NULL)
while ((cur = strstr(cur, "String "))) {
char *collon = NULL;
unsigned int idx = 0;
- char *eol;
+ const char *eol;
cur += 7;
virSysinfoParseX86Processor(const char *base, virSysinfoDef *ret)
{
const char *cur, *tmp_base;
- char *eol;
+ const char *eol;
virSysinfoProcessorDef *processor;
while ((tmp_base = strstr(base, "Processor Information")) != NULL) {
virSysinfoParseX86Memory(const char *base, virSysinfoDef *ret)
{
const char *cur, *tmp_base;
- char *eol;
+ const char *eol;
virSysinfoMemoryDef *memory;
while ((tmp_base = strstr(base, "Memory Device")) != NULL) {
testSkipSpacesBackwards(const void *opaque G_GNUC_UNUSED)
{
const char *str = TEST_STR TEST_SPACES;
- char *eol = NULL;
+ const char *eol = NULL;
virSkipSpacesBackwards(str, &eol);