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

Function parse_semver

src/cli/cli.c:774–796  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

772
773/* Parse semver major.minor.patch into array. Returns number of parts parsed. */
774static int parse_semver(const char *v, int out[SEMVER_PARTS]) {
775 out[0] = out[CLI_IDX_1] = out[CLI_IDX_2] = 0;
776 /* Skip v prefix */
777 if (*v == 'v' || *v == 'V') {
778 v++;
779 }
780
781 int count = 0;
782 while (*v && count < SEMVER_PARTS) {
783 if (*v == '-') {
784 break; /* stop at pre-release suffix */
785 }
786 char *endptr;
787 long val = strtol(v, &endptr, CLI_STRTOL_BASE);
788 out[count++] = (int)val;
789 if (*endptr == '.') {
790 v = endptr + CLI_SKIP_ONE;
791 } else {
792 break;
793 }
794 }
795 return count;
796}
797
798static bool has_prerelease(const char *v) {
799 if (*v == 'v' || *v == 'V') {

Callers 1

cbm_compare_versionsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected