From 9bd603b639d7dd08fbe0af7e8669358bd066b7cd Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Tue, 11 Feb 2020 11:43:25 -0500 Subject: Refactor project structure: * Move prototypes and definitions to respective header files * Renamed strings.h to str.h to avoid collision with standard library header --- include/version_spec.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 include/version_spec.h (limited to 'include/version_spec.h') diff --git a/include/version_spec.h b/include/version_spec.h new file mode 100644 index 0000000..995d24a --- /dev/null +++ b/include/version_spec.h @@ -0,0 +1,21 @@ +#ifndef SPM_VERSION_SPEC_H +#define SPM_VERSION_SPEC_H + +#define VERSION_OPERATORS " ~!=<>" +#define VERSION_NOOP 1 << 0 +#define VERSION_EQ 1 << 1 +#define VERSION_NE 1 << 2 +#define VERSION_GT 1 << 3 +#define VERSION_LT 1 << 4 +#define VERSION_COMPAT 1 << 5 + +// version_spec.c +char *version_suffix_get_alpha(char *str); +char *version_suffix_get_modifier(char *str); +int64_t version_suffix_modifier_calc(char *str); +int version_suffix_alpha_calc(char *str); +int64_t version_from(const char *version_str); +int version_spec_from(const char *op); +ManifestPackage **find_by_spec(Manifest *manifest, const char *name, const char *op, const char *version_str); + +#endif //SPM_VERSION_SPEC_H -- cgit