aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2024-10-14 12:21:32 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2024-10-14 12:21:32 -0400
commit26000fb8e6cc08c227d4463de60e28881179e5cb (patch)
tree48978ff793f2a969df196cfa7700100e5c82a2f5 /src/lib
parenta29bca4b79f19e9f04420b545bdec27ddc99150c (diff)
downloadstasis-restructure-the-world.tar.gz
Reduce length of stasis_main.crestructure-the-world
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/core/package.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/lib/core/package.c b/src/lib/core/package.c
new file mode 100644
index 0000000..e34673b
--- /dev/null
+++ b/src/lib/core/package.c
@@ -0,0 +1,41 @@
+#include <stdlib.h>
+#include "package.h"
+#include "core.h"
+
+struct Package *stasis_package_init() {
+ struct Package *result;
+ result = calloc(1, sizeof(*result));
+ return result;
+}
+
+void stasis_package_set_name(struct Package *pkg, const char *name) {
+ if (pkg->meta.name) {
+ guard_free(pkg->meta.name);
+ }
+ pkg->meta.name = strdup(name);
+}
+
+void stasis_package_set_version(struct Package *pkg, const char *version) {
+ if (pkg->meta.version) {
+ guard_free(pkg->meta.version);
+ }
+ pkg->meta.version = strdup(version);
+}
+
+void stasis_package_set_version_spec(struct Package *pkg, const char *version_spec) {
+ if (pkg->meta.version_spec) {
+ guard_free(pkg->meta.version_spec);
+ }
+ pkg->meta.version_spec = strdup(version_spec);
+}
+
+void stasis_package_set_uri(struct Package *pkg, const char *uri) {
+ if (pkg->source.uri) {
+ guard_free(pkg->source.uri);
+ }
+ pkg->source.uri = uri;
+}
+
+void stasis_package_set_handler(struct Package *pkg, unsigned handler) {
+ pkg->source.handler = handler;
+} \ No newline at end of file