diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-10-04 17:32:57 -0400 | 
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2024-10-04 17:32:57 -0400 | 
| commit | 4ea0e522551b8d77ed79df9e7edd6ec891019d19 (patch) | |
| tree | 609a61b9255255dd3a2b776ca59335ed4798ada1 /src | |
| parent | e87371e8cabacb29144c5763cc55105e3bf622eb (diff) | |
| download | stasis-4ea0e522551b8d77ed79df9e7edd6ec891019d19.tar.gz | |
Record the package name in a separate variable
Diffstat (limited to 'src')
| -rw-r--r-- | src/delivery.c | 8 | 
1 files changed, 7 insertions, 1 deletions
| diff --git a/src/delivery.c b/src/delivery.c index e8c3a28..dfe9209 100644 --- a/src/delivery.c +++ b/src/delivery.c @@ -191,19 +191,25 @@ void delivery_defer_packages(struct Delivery *ctx, int type) {              // no data              continue;          } -        msg(STASIS_MSG_L3, "package '%s': ", name);          // Compile a list of packages that are *also* to be tested.          char *version;          char *spec_begin = strpbrk(name, "@~=<>!");          char *spec_end = spec_begin; +        char package_name[255] = {0}; +          if (spec_end) {              // A version is present in the package name. Jump past operator(s).              while (*spec_end != '\0' && !isalnum(*spec_end)) {                  spec_end++;              } +            strncpy(package_name, name, spec_begin - name); +        } else { +            strncpy(package_name, name, sizeof(package_name) - 1);          } +        msg(STASIS_MSG_L3, "package '%s': ", package_name); +          // When spec is present in name, set tests->version to the version detected in the name          for (size_t x = 0; x < sizeof(ctx->tests) / sizeof(ctx->tests[0]) && ctx->tests[x].name != NULL; x++) {              struct Test *test = &ctx->tests[x]; | 
