aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2020-03-14 01:44:33 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2020-03-14 01:44:33 -0400
commitc51c410d72e6cc6fe5a23df3e89f3bc07dfa15ae (patch)
tree1b2de9f92ccb07e427cec859a213b9da10025ec2
parent8f58c32ee1acfed7eb2291c00f54ce9037d23320 (diff)
downloadspmc-c51c410d72e6cc6fe5a23df3e89f3bc07dfa15ae.tar.gz
Allow names with hyphens
-rw-r--r--src/version_spec.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/version_spec.c b/src/version_spec.c
index dd3aabb..ed803d5 100644
--- a/src/version_spec.c
+++ b/src/version_spec.c
@@ -336,16 +336,19 @@ ManifestPackage **find_by_spec(Manifest *manifest, const char *name, const char
ManifestPackage *find_by_strspec(Manifest *manifest, const char *_strspec) {
const char *operators = VERSION_OPERATORS; // note: whitespace is synonymous with ">=" if no operators are present
char *pos = NULL;
- char op[NAME_MAX];
- char name[NAME_MAX];
- char version[NAME_MAX];
+ char s_op[NAME_MAX];
+ char s_name[NAME_MAX];
+ char s_version[NAME_MAX];
+ char *op = s_op;
+ char *name = s_name;
+ char *version = s_version;
memset(op, '\0', NAME_MAX);
memset(name, '\0', NAME_MAX);
memset(version, '\0', NAME_MAX);
// Parse name
- for (size_t i = 0; isalnum(_strspec[i]) || _strspec[i] == '_'; i++) {
+ for (size_t i = 0; isalnum(_strspec[i]) || _strspec[i] == '_' || _strspec[i] == '-'; i++) {
name[i] = _strspec[i];
}