Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.30 KB | None | 0 0
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <libgbsed.h>
  4.  
  5. extern int gbsed_errno;
  6.  
  7. int main(int argc, char **argv) {
  8.  
  9. int gbsed_ret;
  10. int sysret;
  11. const char *errmessage;
  12. GBSEDargs *bargs;
  13.  
  14. sysret = EXIT_SUCCESS;
  15. bargs = (GBSEDargs *)malloc(sizeof(GBSEDargs));
  16. if (bargs == NULL) {
  17. fprintf(stderr, "Out of memory!\n");
  18. exit(1);
  19. }
  20.  
  21. bargs->search = "0xff";
  22. bargs->replace = "0x00";
  23. bargs->infilename = "bsedtest";
  24. bargs->outfilename = "bsedtest.out";
  25. bargs->minmatch = 1; // atleast one match.
  26. bargs->maxmatch = GBSED_MAXMATCH_NO_LIMIT; // no limit.
  27.  
  28. if (argc > 1)
  29. bargs->infilename = argv[1];
  30.  
  31. gbsed_ret = gbsed_binary_search_replace(bargs);
  32.  
  33. switch (gbsed_ret) {
  34.  
  35. case GBSED_ERROR:
  36. errmessage = gbsed_errtostr(gbsed_errno);
  37. fprintf(stderr, "ERROR: %s\n", errmessage);
  38. sysret = EXIT_FAILURE;
  39. break;
  40. case GBSED_NO_MATCH:
  41. fprintf(stderr, "No match for %s found in %s\n",
  42. bargs->search, bargs->infilename
  43. );
  44. sysret = EXIT_FAILURE;
  45. break;
  46.  
  47. default:
  48. printf("Search for '%s' in '%s' matched %d times.\n",
  49. bargs->search, bargs->infilename, gbsed_ret
  50. );
  51. break;
  52. }
  53.  
  54. free(bargs);
  55. return sysret;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement