{"id":34338296,"url":"https://github.com/kubo/ya_getopt","last_synced_at":"2026-03-13T02:31:27.802Z","repository":{"id":25288551,"uuid":"28714489","full_name":"kubo/ya_getopt","owner":"kubo","description":"GNU getopt and getopt_long for Windows and Unix-like OSes","archived":false,"fork":false,"pushed_at":"2019-06-04T11:02:02.000Z","size":21,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-03-10T20:08:30.385Z","etag":null,"topics":["getopt","getopt-long"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-02T13:47:36.000Z","updated_at":"2023-01-09T14:17:16.000Z","dependencies_parsed_at":"2022-08-24T00:21:01.739Z","dependency_job_id":null,"html_url":"https://github.com/kubo/ya_getopt","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/kubo/ya_getopt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubo%2Fya_getopt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubo%2Fya_getopt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubo%2Fya_getopt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubo%2Fya_getopt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubo","download_url":"https://codeload.github.com/kubo/ya_getopt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubo%2Fya_getopt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30455793,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-13T02:22:12.178Z","status":"ssl_error","status_checked_at":"2026-03-13T02:06:49.475Z","response_time":60,"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":["getopt","getopt-long"],"created_at":"2025-12-17T21:05:32.379Z","updated_at":"2026-03-13T02:31:27.797Z","avatar_url":"https://github.com/kubo.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"ya_getopt - Yet another getopt\n==============================\n\nWhat is ya_getopt.\n------------------\n\nYa_getopt is a drop-in replacement of [GNU C library getopt](http://man7.org/linux/man-pages/man3/getopt.3.html).\n`getopt()`, `getopt_long()` and `getopt_long_only()` are implemented excluding the following GNU extension features.\n\n1. If *optstring* contains **W** followed by a semicolon, then **-W** **foo** is\n   treated as the long option **--foo**.\n\n2. \\_\\\u003cPID\u003e\\_GNU\\_nonoption\\_argv\\_flags\\_\n\nThe license is 2-clause BSD-style license. You can use the Linux getopt compatible function\nunder Windows, Solaris and so on without having to worry about license issue.\n\nNote for contributors\n---------------------\n\nDon't send me a patch if you have looked at GNU C library getopt source code.\nThat's because I made this with clean room design to avoid the influence of the GNU LGPL.\n\nPlease make a test script passed by the GNU C library getopt but not by ya_getopt instead.\n\nLicense\n-------\n\n2-clause BSD-style license\n\nOther getopt functions\n----------------------\n\n* [public domain AT\u0026T getopt](https://www.google.co.jp/search?q=public+domain+at%26t+getopt) public domain, no getopt_long, no getopt_long_only, no argv permutation\n* [Free Getopt](http://freegetopt.sourceforge.net/) 3-clause BSD-style licence, no getopt_long, no getopt_long_only\n* [getopt_port](https://github.com/kimgr/getopt_port/) 3-clause BSD-style licence, no getopt_long_only, no argv permutation\n* [XGetopt - A Unix-compatible getopt() for MFC and Win32](http://www.codeproject.com/Articles/1940/XGetopt-A-Unix-compatible-getopt-for-MFC-and-Win32)\n* [Full getopt Port for Unicode and Multibyte Microsoft Visual C, C++, or MFC Projects](http://www.codeproject.com/Articles/157001/Full-getopt-Port-for-Unicode-and-Multibyte-Microso) LGPL\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubo%2Fya_getopt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubo%2Fya_getopt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubo%2Fya_getopt/lists"}