530-unsigned_bitwise_ops.patch 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. --- a/editors/awk.c
  2. +++ b/editors/awk.c
  3. @@ -2041,27 +2041,27 @@ static var *exec_builtin(node *op, var *
  4. break;
  5. case B_an:
  6. - setvar_i(res, (long)getvar_i(av[0]) & (long)getvar_i(av[1]));
  7. + setvar_i(res, (unsigned long)getvar_i(av[0]) & (unsigned long)getvar_i(av[1]));
  8. break;
  9. case B_co:
  10. - setvar_i(res, ~(long)getvar_i(av[0]));
  11. + setvar_i(res, ~(unsigned long)getvar_i(av[0]));
  12. break;
  13. case B_ls:
  14. - setvar_i(res, (long)getvar_i(av[0]) << (long)getvar_i(av[1]));
  15. + setvar_i(res, (unsigned long)getvar_i(av[0]) << (unsigned long)getvar_i(av[1]));
  16. break;
  17. case B_or:
  18. - setvar_i(res, (long)getvar_i(av[0]) | (long)getvar_i(av[1]));
  19. + setvar_i(res, (unsigned long)getvar_i(av[0]) | (unsigned long)getvar_i(av[1]));
  20. break;
  21. case B_rs:
  22. - setvar_i(res, (long)((unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1])));
  23. + setvar_i(res, (unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1]));
  24. break;
  25. case B_xo:
  26. - setvar_i(res, (long)getvar_i(av[0]) ^ (long)getvar_i(av[1]));
  27. + setvar_i(res, (unsigned long)getvar_i(av[0]) ^ (unsigned long)getvar_i(av[1]));
  28. break;
  29. case B_lo: