time_t timestamp;\r
User * user;\r
char content[CONTENT_LEN];\r
- int likes;\r
+ uint32_t likes;\r
Post * comments;\r
- Post * parent;\r
+ //Post * parent;\r
};\r
\r
struct User {\r
fwrite(&post->timestamp, 8, 1, f);\r
fwrite(post->user->name, 1, sizeof(post->user->name), f);\r
fwrite(post->content, 1, sizeof(post->content), f);\r
+ fwrite(&post->likes, 4, 1, f);\r
+ uint32_t numComments = arrlen(post->comments);\r
+ fwrite(&numComments, 4, 1, f);\r
+ for (int i = 0; i < numComments; i++) {\r
+ PostWrite(&post->comments[i], f);\r
+ }\r
}\r
\r
void\r
fread(name, 1, sizeof(name), f);\r
post->user = UsersFind(mg_str(name));\r
fread(post->content, 1, sizeof(post->content), f);\r
+ fread(&post->likes, 4, 1, f);\r
+ uint32_t numComments;\r
+ fread(&numComments, 4, 1, f);\r
+ post->comments = NULL;\r
+ for (int i = 0; i < numComments; i++) {\r
+ Post newComment = PostNew();\r
+ PostRead(&newComment, f);\r
+ arrput(post->comments, newComment);\r
+ }\r
}\r
\r
User\r
Post newPost;\r
newPost.likes = 0;\r
newPost.comments = NULL;\r
- newPost.parent = NULL;\r
newPost.timestamp = time(NULL);\r
newPost.user = user;\r
mg_http_get_var(&hm->body, "content", newPost.content, sizeof(newPost.content)-1);\r
Post newComment;\r
newComment.likes = 0;\r
newComment.comments = NULL;\r
- newComment.parent = parent;\r
newComment.timestamp = time(NULL);\r
newComment.user = user;\r
mg_http_get_var(&hm->body, "content", newComment.content, sizeof(newComment.content)-1);\r