{"id":15049352,"url":"https://github.com/skullchap/buf","last_synced_at":"2026-02-09T08:02:46.843Z","repository":{"id":242450143,"uuid":"809562273","full_name":"skullchap/buf","owner":"skullchap","description":"ANSI C89 dynamic buffer lib + code generator macros to help build custom vectors/dynamic array like wrappers and etc.","archived":false,"fork":false,"pushed_at":"2024-09-13T13:12:18.000Z","size":23,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-20T08:42:43.451Z","etag":null,"topics":["array","buffer","c","c89","dynamic-array","dynamic-buffer","vector"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skullchap.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"skullchap","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2024-06-03T02:26:35.000Z","updated_at":"2024-10-05T12:34:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"7aa37218-d333-4aa7-8fea-a8d11832559a","html_url":"https://github.com/skullchap/buf","commit_stats":null,"previous_names":["skullchap/buf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/skullchap/buf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skullchap%2Fbuf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skullchap%2Fbuf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skullchap%2Fbuf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skullchap%2Fbuf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skullchap","download_url":"https://codeload.github.com/skullchap/buf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skullchap%2Fbuf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29259466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-09T04:11:57.159Z","status":"ssl_error","status_checked_at":"2026-02-09T04:11:56.117Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["array","buffer","c","c89","dynamic-array","dynamic-buffer","vector"],"created_at":"2024-09-24T21:19:55.722Z","updated_at":"2026-02-09T08:02:46.827Z","avatar_url":"https://github.com/skullchap.png","language":"C","readme":"ANSI C89 compatible, dynamic buffer lib.\n\nBuf*\tnewbuf(long cap);\nvoid\tfreebuf(Buf*);\nlong\tbuflen(Buf*);\nvoid\tsetbuflen(Buf*, long len);\nlong\tbufcap(Buf*);\nint\tsetbufcap(Buf*, long cap);\nvoid*\tbufmem(Buf*);\nvoid*\tbufcursor(Buf*);\nvoid*\tbufoff(Buf*, long off);\nBuf*\tcopybuf(Buf*);\nint\tappendbuf(Buf*, void*, long);\nint\tinsertbuf(Buf*, long off, void*, long);\nBuf*\tslicebuf(Buf*, long from, long till);\nint\tcutbuf(Buf *b, long from, long till);\nint\tfillbuf(Buf*, int c, long from, long till);\n\nFunctions return either NULL or negative number on error.\nappendbuf and insertbuf can set errno to ERANGE on long add overflow condition.\nslicebuf, cutbuf and fillbuf can set errno to ERANGE on from \u003e= till condition.\n\nexample/veci.c contains how type vector wrappers could be made.\n\nvecdef.h is a set of code generator macros to help build type vector wrappers\nsimilar to ones found in example/veci.c. It has vecprotos and vecfuncs macros,\nthat generate vector prototypes and functions for a given type.\nexample/vecgen contains how vecdef.h could be used.\n","funding_links":["https://ko-fi.com/skullchap"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskullchap%2Fbuf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskullchap%2Fbuf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskullchap%2Fbuf/lists"}