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

Function parse_semver

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

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

Source from the content-addressed store, hash-verified

795
796/* Parse semver major.minor.patch into array. Returns number of parts parsed. */
797static int parse_semver(const char *v, int out[SEMVER_PARTS]) {
798 out[0] = out[CLI_IDX_1] = out[CLI_IDX_2] = 0;
799 /* Skip v prefix */
800 if (*v == 'v' || *v == 'V') {
801 v++;
802 }
803
804 int count = 0;
805 while (*v && count < SEMVER_PARTS) {
806 if (*v == '-') {
807 break; /* stop at pre-release suffix */
808 }
809 char *endptr;
810 long val = strtol(v, &endptr, CLI_STRTOL_BASE);
811 out[count++] = (int)val;
812 if (*endptr == '.') {
813 v = endptr + CLI_SKIP_ONE;
814 } else {
815 break;
816 }
817 }
818 return count;
819}
820
821static bool has_prerelease(const char *v) {
822 if (*v == 'v' || *v == 'V') {

Callers 1

cbm_compare_versionsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected