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

Function parse_semver

src/cli/cli.c:768–790  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

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

Callers 1

cbm_compare_versionsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected