MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / parse_semver

Function parse_semver

src/cli/cli.c:819–841  ·  view source on GitHub ↗

Parse semver major.minor.patch into array. Returns number of parts parsed. */

Source from the content-addressed store, hash-verified

817
818/* Parse semver major.minor.patch into array. Returns number of parts parsed. */
819static int parse_semver(const char *v, int out[SEMVER_PARTS]) {
820 out[0] = out[CLI_IDX_1] = out[CLI_IDX_2] = 0;
821 /* Skip v prefix */
822 if (*v == 'v' || *v == 'V') {
823 v++;
824 }
825
826 int count = 0;
827 while (*v && count < SEMVER_PARTS) {
828 if (*v == '-') {
829 break; /* stop at pre-release suffix */
830 }
831 char *endptr;
832 long val = strtol(v, &endptr, CLI_STRTOL_BASE);
833 out[count++] = (int)val;
834 if (*endptr == '.') {
835 v = endptr + CLI_SKIP_ONE;
836 } else {
837 break;
838 }
839 }
840 return count;
841}
842
843static bool has_prerelease(const char *v) {
844 if (*v == 'v' || *v == 'V') {

Callers 1

cbm_compare_versionsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected