{"id":23508796,"url":"https://github.com/lovasko/ctfdiff","last_synced_at":"2025-08-03T01:08:11.413Z","repository":{"id":25996119,"uuid":"29438514","full_name":"lovasko/ctfdiff","owner":"lovasko","description":"CTF diff","archived":false,"fork":false,"pushed_at":"2015-03-22T19:35:48.000Z","size":152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-16T19:48:25.129Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lovasko.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}},"created_at":"2015-01-18T19:46:23.000Z","updated_at":"2015-03-22T19:35:51.000Z","dependencies_parsed_at":"2022-08-06T08:01:16.071Z","dependency_job_id":null,"html_url":"https://github.com/lovasko/ctfdiff","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/lovasko%2Fctfdiff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovasko%2Fctfdiff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovasko%2Fctfdiff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lovasko%2Fctfdiff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lovasko","download_url":"https://codeload.github.com/lovasko/ctfdiff/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253970895,"owners_count":21992595,"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":[],"created_at":"2024-12-25T11:32:10.942Z","updated_at":"2025-05-13T15:34:59.480Z","avatar_url":"https://github.com/lovasko.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ctfdiff\nCTF diff of two files.\n\n## Build\n```\n$ ninja\n```\n### Dependencies\n * libbsdctf\n\n## Usage\n```\nctfdiff [-afFhilLoOqtT] file1 file2\t\n```\n\n### General options\n * `-h` help message\n * `-q` quiet mode \n * `-i` ignore integral types (allows for equality between 32bit and 64bit\n        memory models)\n * `-a` compare all sections\n\n### Label options\n * `-l` compare all labels\n\n### Object options\n * `-o` compare all objects\n * `-O name` compare object with the specified name (may repeat)\n\n### Function options\n * `-f` compare all functions\n * `-F name` compare function with the specified name (may repeat)\n\n### Type options\n * `-s` compare structs and unions \n * `-t` compare all types\n * `-T name` compare type with the specified name (may repeat)\n\n## Comparison algorithm\n### Label\nTwo labels are equal, if they have the same name.\n\n### Object\nTwo objects are equal, if they have the same name and type.\n\n### Function\nTwo functions are equal, if they have the same name, return type and arguments\n(both count- and type-wise)\n\n### Type\nTwo types are equal, if they have the same kind and the variable data\n(properties and lists) stored with the type is the same (e.g. member offsets, enum entry values, integer content, float encoding, ...).\n\n#### Struct\nTwo structs are equal, if they have the same member names and member offsets.\n\n## Exit status \nThe result of the diff can be determined also by the return code/exit status of the\nprogram.\n### 0\nThe requested diff query contains no differences.\n### 1\nThe requested diff query contains differences.\n### 2\nWrong arguments.\n### 3\nAn error occurred during the execution.\n\n## Run\n```\n$ ctfdiff -q -T 'struct proc' /boot/kernel.old/kernel /boot/kernel/kernel\n$ echo $?\n0\n```\n\n## Authors\n * Daniel Lovasko lovasko@freebsd.org\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovasko%2Fctfdiff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flovasko%2Fctfdiff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flovasko%2Fctfdiff/lists"}