Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdlib.h>
- #include <stdio.h>
- #include <libgbsed.h>
- extern int gbsed_errno;
- int main(int argc, char **argv) {
- int gbsed_ret;
- int sysret;
- const char *errmessage;
- GBSEDargs *bargs;
- sysret = EXIT_SUCCESS;
- bargs = (GBSEDargs *)malloc(sizeof(GBSEDargs));
- if (bargs == NULL) {
- fprintf(stderr, "Out of memory!\n");
- exit(1);
- }
- bargs->search = "0xff";
- bargs->replace = "0x00";
- bargs->infilename = "bsedtest";
- bargs->outfilename = "bsedtest.out";
- bargs->minmatch = 1; // atleast one match.
- bargs->maxmatch = GBSED_MAXMATCH_NO_LIMIT; // no limit.
- if (argc > 1)
- bargs->infilename = argv[1];
- gbsed_ret = gbsed_binary_search_replace(bargs);
- switch (gbsed_ret) {
- case GBSED_ERROR:
- errmessage = gbsed_errtostr(gbsed_errno);
- fprintf(stderr, "ERROR: %s\n", errmessage);
- sysret = EXIT_FAILURE;
- break;
- case GBSED_NO_MATCH:
- fprintf(stderr, "No match for %s found in %s\n",
- bargs->search, bargs->infilename
- );
- sysret = EXIT_FAILURE;
- break;
- default:
- printf("Search for '%s' in '%s' matched %d times.\n",
- bargs->search, bargs->infilename, gbsed_ret
- );
- break;
- }
- free(bargs);
- return sysret;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement