{"id":18584605,"url":"https://github.com/ckath/ini_rw","last_synced_at":"2025-04-10T12:30:44.591Z","repository":{"id":131170756,"uuid":"260785320","full_name":"Ckath/ini_rw","owner":"Ckath","description":"minimal ini parser for reading and writing ini files","archived":false,"fork":false,"pushed_at":"2021-09-04T13:12:08.000Z","size":32,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T21:22:14.852Z","etag":null,"topics":["c","ini-parser"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ckath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2020-05-02T22:19:31.000Z","updated_at":"2024-04-26T05:30:57.000Z","dependencies_parsed_at":"2023-03-21T04:33:04.843Z","dependency_job_id":null,"html_url":"https://github.com/Ckath/ini_rw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ckath%2Fini_rw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ckath%2Fini_rw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ckath%2Fini_rw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ckath%2Fini_rw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ckath","download_url":"https://codeload.github.com/Ckath/ini_rw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217124,"owners_count":21066633,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["c","ini-parser"],"created_at":"2024-11-07T00:28:09.397Z","updated_at":"2025-04-10T12:30:44.583Z","avatar_url":"https://github.com/Ckath.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ini rw\nminimal ini parser with read/write functionality. single header include.\n\n## 'features'\n- read/write/remove items to/from ini file \n- sections and items are created/updated/removed as needed solely using `ini_write`/`ini_remove`\n- able to retrieve a list of all sections in the loaded ini, no need to know what sections are in the ini\n- no support for comments or useless indentation, they aren't parsed and wont be written back\n- no support for quotes, don't use them they don't have any point anyway\n- no datatypes, all values are returned as char \\* regardless, sscanf them if you need more functionality\n\n## functions\n- `INI *ini_load(char *path)`\\\nload in ini file\n- `ini_free(INI *ini)`\\\nfree loaded ini\n- `char **ini_list_sections(INI *ini)`\\\nretrieve a list of all loaded sections, last element will be `NULL`\n- `char **ini_list_items(INI *ini, char *section)`\\\nretrieve a list of all loaded items in the section, last element will be `NULL`\n- `char *ini_read(INI *ini, char *section, char *item)`\\\nretrieve value of `item` in\t`section`. returns `NULL` on item not found\n- `int ini_write(INI *ini, char *section, char *item, char *value)`\\\nwrite `value` to `item` in `section`. returns write actions, meaning `0` on item already in with that value\n- `int ini_remove(INI *ini, char *section, char *item)`\\\nremove `item`(pass `NULL` to remove entire section) in `section`. returns remove actions, meaning `0` on item not found\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckath%2Fini_rw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fckath%2Fini_rw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fckath%2Fini_rw/lists"}