diff options
author | 2025-05-22 22:59:39 +0600 | |
---|---|---|
committer | 2025-05-22 23:01:28 +0600 | |
commit | 29b8e5efb43bdb71737f1b417fedb3b1558bb9af (patch) | |
tree | 79eaca3ba73974af3c4d6989e3ebbb006b2404c5 /src/teams.c | |
parent | cefb440148fd80cac7537b3743dd0e018df3a797 (diff) | |
download | c-obp-example-29b8e5efb43bdb71737f1b417fedb3b1558bb9af.tar.gz c-obp-example-29b8e5efb43bdb71737f1b417fedb3b1558bb9af.zip |
Clean up and fix warnings
Signed-off-by: Mubashshir <ahmubashshir@gmail.com>
Diffstat (limited to 'src/teams.c')
-rw-r--r-- | src/teams.c | 84 |
1 files changed, 38 insertions, 46 deletions
diff --git a/src/teams.c b/src/teams.c index bebb786..b0233f5 100644 --- a/src/teams.c +++ b/src/teams.c @@ -2,61 +2,60 @@ #include <stdlib.h> #include <string.h> +#define __COBJ_IMPL__ #include "teams.h" -#define __COBJ_PRIV_IMPLS_H__ -#include "cobj.h" // Setter definitions // @set char[]: TEAM.name -> bool -Setter(team, name, ref(char), { - return !(strncpy(SELF(name), value, 255) == NULL); +Set(team, name, ref(char), { + return !(strncpy(Self(name), value, 255) == NULL); }) // @set char[]: TEAM.institution -> bool -Setter(team, institution, ref(char), { - return !(strncpy(SELF(institution), value, 255) == NULL); +Set(team, institution, ref(char), { + return !(strncpy(Self(institution), value, 255) == NULL); }) // @set char[]: TEAM.member_name, int: id -> bool -Setter(team, member_name, ref(char), { - return (id > 0 && id < 4 && !(strncpy(SELF(member_name)[id-1], value, 255) == NULL)); +Set(team, member_name, ref(char), { + return (id > 0 && id < 4 && !(strncpy(Self(member_name)[id-1], value, 255) == NULL)); }, int id) // @set int: TEAM.solved -> bool -Setter(team, solved, uint8_t, { +Set(team, solved, uint8_t, { if (value <= 10) - SELF(solved) = value; + Self(solved) = value; return (value <= 10); }) // Getter definitions // @get TEAM.name -> char[] -Getter(team, name, ptr(char), { - return SELF(name); +Get(team, name, ptr(char), { + return Self(name); }) // @get TEAM.institution -> char[] -Getter(team, institution, ptr(char), { - return SELF(institution); +Get(team, institution, ptr(char), { + return Self(institution); }) // @get TEAM.solved -> int -Getter(team, solved, uint8_t, { - return SELF(solved); +Get(team, solved, uint8_t, { + return Self(solved); }) -static char* const _id_error = (char *)"(incorrect id)"; // C++ fix // @get TEAM.member_name, id -> char[] -Getter(team, member_name, ptr(char), { - return (id > 0 && id < 4)? SELF(member_name)[id - 1] : _id_error; +static char* const _id_error = (char *)"(incorrect id)"; // C++ fix +Get(team, member_name, ptr(char), { + return (id > 0 && id < 4)? Self(member_name)[id - 1] : _id_error; }, int id) -Define(team, printf, int, { - return call(self, fprintf, stdout); +Def(team, printf, int, { + return Call(self, fprintf, stdout); }) -Define(team, fprintf, int, { +Def(team, fprintf, int, { return fprintf(file, "Team name : %s\n" "Institution: %s\n" @@ -64,41 +63,34 @@ Define(team, fprintf, int, { " Member 1: %s\n" " Member 2: %s\n" " Member 3: %s\n", - SELF(name), - SELF(institution), - SELF(solved), - SELF(member_name)[0], - SELF(member_name)[1], - SELF(member_name)[2]); + Self(name), + Self(institution), + Self(solved), + Self(member_name)[0], + Self(member_name)[1], + Self(member_name)[2]); }, ptr(FILE) file) -Define(team, find_champion, team, { +Def(team, find_champion, team, { UNUSED(self); team champion = teams[num - 1]; while(num --) - if (GET(teams[num], solved) > GET(champion, solved) ) + if (Attr(teams[num], solved) > Attr(champion, solved) ) champion = teams[num]; return champion; }, ptr(team) teams, size_t num) +Del(team, DefaultDelete) // base functions New(team, { - team self = (team)malloc(sizeof(TYPE(team))); - if (self) - { - PROPERTY(team, name); - PROPERTY(team, member_name); - PROPERTY(team, institution); - PROPERTY(team, solved); - CALLABLE(team, printf); - CALLABLE(team, fprintf); - CALLABLE(team, find_champion); - } - return self; -}) - -Del(team, { - if(self) free(self); + Prop(team, name); + Prop(team, member_name); + Prop(team, institution); + Prop(team, solved); + Func(team, printf); + Func(team, fprintf); + Func(team, find_champion); + DelF(team); }) |