mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 19:41:16 +00:00
util: Rename virFileMatchesNameSuffix() to virStringMatchesNameSuffix()
Despite its name, this is really just a general-purpose string manipulation function, so it should be moved to the virstring module and renamed accordingly. Signed-off-by: Andrea Bolognani <abologna@redhat.com> ACKed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
9c5fa79fd7
commit
b5cc0a7f29
@ -819,7 +819,7 @@ virSecretLoadValidateUUID(virSecretDefPtr def,
|
|||||||
|
|
||||||
virUUIDFormat(def->uuid, uuidstr);
|
virUUIDFormat(def->uuid, uuidstr);
|
||||||
|
|
||||||
if (!virFileMatchesNameSuffix(file, uuidstr, ".xml")) {
|
if (!virStringMatchesNameSuffix(file, uuidstr, ".xml")) {
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
_("<uuid> does not match secret file name '%s'"),
|
_("<uuid> does not match secret file name '%s'"),
|
||||||
file);
|
file);
|
||||||
|
@ -1585,7 +1585,7 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
|
|||||||
if (!(def = virStoragePoolDefParseFile(path)))
|
if (!(def = virStoragePoolDefParseFile(path)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (!virFileMatchesNameSuffix(file, def->name, ".xml")) {
|
if (!virStringMatchesNameSuffix(file, def->name, ".xml")) {
|
||||||
virReportError(VIR_ERR_XML_ERROR,
|
virReportError(VIR_ERR_XML_ERROR,
|
||||||
_("Storage pool config filename '%s' does "
|
_("Storage pool config filename '%s' does "
|
||||||
"not match pool name '%s'"),
|
"not match pool name '%s'"),
|
||||||
|
@ -1859,7 +1859,6 @@ virFileLoopDeviceAssociate;
|
|||||||
virFileMakeParentPath;
|
virFileMakeParentPath;
|
||||||
virFileMakePath;
|
virFileMakePath;
|
||||||
virFileMakePathWithMode;
|
virFileMakePathWithMode;
|
||||||
virFileMatchesNameSuffix;
|
|
||||||
virFileMoveMount;
|
virFileMoveMount;
|
||||||
virFileNBDDeviceAssociate;
|
virFileNBDDeviceAssociate;
|
||||||
virFileOpenAs;
|
virFileOpenAs;
|
||||||
@ -2980,6 +2979,7 @@ virStringListLength;
|
|||||||
virStringListMerge;
|
virStringListMerge;
|
||||||
virStringListRemove;
|
virStringListRemove;
|
||||||
virStringMatch;
|
virStringMatch;
|
||||||
|
virStringMatchesNameSuffix;
|
||||||
virStringParsePort;
|
virStringParsePort;
|
||||||
virStringReplace;
|
virStringReplace;
|
||||||
virStringSearch;
|
virStringSearch;
|
||||||
|
@ -1508,23 +1508,6 @@ virFileWriteStr(const char *path, const char *str, mode_t mode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
virFileMatchesNameSuffix(const char *file,
|
|
||||||
const char *name,
|
|
||||||
const char *suffix)
|
|
||||||
{
|
|
||||||
int filelen = strlen(file);
|
|
||||||
int namelen = strlen(name);
|
|
||||||
int suffixlen = strlen(suffix);
|
|
||||||
|
|
||||||
if (filelen == (namelen + suffixlen) &&
|
|
||||||
STREQLEN(file, name, namelen) &&
|
|
||||||
STREQLEN(file + namelen, suffix, suffixlen))
|
|
||||||
return 1;
|
|
||||||
else
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define SAME_INODE(Stat_buf_1, Stat_buf_2) \
|
#define SAME_INODE(Stat_buf_1, Stat_buf_2) \
|
||||||
((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
|
((Stat_buf_1).st_ino == (Stat_buf_2).st_ino \
|
||||||
&& (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
|
&& (Stat_buf_1).st_dev == (Stat_buf_2).st_dev)
|
||||||
|
@ -162,10 +162,6 @@ int virFileReadBufQuiet(const char *file, char *buf, int len)
|
|||||||
int virFileWriteStr(const char *path, const char *str, mode_t mode)
|
int virFileWriteStr(const char *path, const char *str, mode_t mode)
|
||||||
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_RETURN_CHECK;
|
||||||
|
|
||||||
int virFileMatchesNameSuffix(const char *file,
|
|
||||||
const char *name,
|
|
||||||
const char *suffix);
|
|
||||||
|
|
||||||
int virFileLinkPointsTo(const char *checkLink,
|
int virFileLinkPointsTo(const char *checkLink,
|
||||||
const char *checkDest)
|
const char *checkDest)
|
||||||
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
|
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
|
||||||
|
@ -1266,6 +1266,23 @@ virStringStripSuffix(char *str,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
virStringMatchesNameSuffix(const char *file,
|
||||||
|
const char *name,
|
||||||
|
const char *suffix)
|
||||||
|
{
|
||||||
|
int filelen = strlen(file);
|
||||||
|
int namelen = strlen(name);
|
||||||
|
int suffixlen = strlen(suffix);
|
||||||
|
|
||||||
|
if (filelen == (namelen + suffixlen) &&
|
||||||
|
STREQLEN(file, name, namelen) &&
|
||||||
|
STREQLEN(file + namelen, suffix, suffixlen))
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* virStringStripIPv6Brackets:
|
* virStringStripIPv6Brackets:
|
||||||
* @str: the string to strip
|
* @str: the string to strip
|
||||||
|
@ -292,6 +292,9 @@ int virStringHasCaseSuffix(const char *str,
|
|||||||
const char *suffix);
|
const char *suffix);
|
||||||
int virStringStripSuffix(char *str,
|
int virStringStripSuffix(char *str,
|
||||||
const char *suffix) ATTRIBUTE_RETURN_CHECK;
|
const char *suffix) ATTRIBUTE_RETURN_CHECK;
|
||||||
|
int virStringMatchesNameSuffix(const char *file,
|
||||||
|
const char *name,
|
||||||
|
const char *suffix);
|
||||||
|
|
||||||
void virStringStripIPv6Brackets(char *str);
|
void virStringStripIPv6Brackets(char *str);
|
||||||
bool virStringHasChars(const char *str,
|
bool virStringHasChars(const char *str,
|
||||||
|
Loading…
Reference in New Issue
Block a user