summaryrefslogtreecommitdiffhomepage
path: root/docs/csptr_api.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/csptr_api.md')
-rw-r--r--docs/csptr_api.md9
1 files changed, 4 insertions, 5 deletions
diff --git a/docs/csptr_api.md b/docs/csptr_api.md
index 6665b23b..7776d345 100644
--- a/docs/csptr_api.md
+++ b/docs/csptr_api.md
@@ -69,9 +69,8 @@ bool csptr_X_equals(csptr_X* x, csptr_X* y);
typedef struct { cstr name, last; } Person;
-Person* Person_make(Person* p, const char* name, const char* last) {
- p->name = cstr_from(name), p->last = cstr_from(last);
- return p;
+Person Person_init(const char* name, const char* last) {
+ return (Person){.name = cstr_from(name), .last = cstr_from(last)};
}
void Person_del(Person* p) {
printf("Destroy: %s %s\n", p->name.str, p->last.str);
@@ -81,9 +80,9 @@ void Person_del(Person* p) {
using_csptr(pe, Person, c_no_compare, Person_del);
int main() {
- csptr_pe p = csptr_pe_from(Person_make(c_new(Person), "John", "Smiths"));
+ csptr_pe p = csptr_pe_make(Person_init("John", "Smiths"));
csptr_pe q = csptr_pe_clone(p); // means: share the pointer
-
+
printf("Person: %s %s. uses: %zu\n", p.get->name.str, p.get->last.str, *p.use_count);
csptr_pe_del(&p);