mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
make function arguments immutable by default
This commit is contained in:
@@ -8,7 +8,7 @@ module cipher
|
||||
|
||||
// xor_bytes xors the bytes in a and b. The destination should have enough
|
||||
// space, otherwise xor_bytes will panic. Returns the number of bytes xor'd.
|
||||
pub fn xor_bytes(dst, a, b []byte) int {
|
||||
pub fn xor_bytes(dst mut []byte, a, b []byte) int {
|
||||
mut n := a.len
|
||||
if b.len < n {
|
||||
n = b.len
|
||||
@@ -17,13 +17,13 @@ pub fn xor_bytes(dst, a, b []byte) int {
|
||||
return 0
|
||||
}
|
||||
|
||||
safe_xor_bytes(dst, a, b, n)
|
||||
safe_xor_bytes(mut dst, a, b, n)
|
||||
|
||||
return n
|
||||
}
|
||||
|
||||
// n needs to be smaller or equal than the length of a and b.
|
||||
pub fn safe_xor_bytes(dst, a, b []byte, n int) {
|
||||
pub fn safe_xor_bytes(dst mut []byte, a, b []byte, n int) {
|
||||
for i := 0; i < n; i++ {
|
||||
dst[i] = a[i] ^ b[i]
|
||||
}
|
||||
@@ -32,5 +32,5 @@ pub fn safe_xor_bytes(dst, a, b []byte, n int) {
|
||||
// fast_xor_words XORs multiples of 4 or 8 bytes (depending on architecture.)
|
||||
// The slice arguments a and b are assumed to be of equal length.
|
||||
pub fn xor_words(dst, a, b []byte) {
|
||||
safe_xor_bytes(dst, a, b, b.len)
|
||||
safe_xor_bytes(mut dst, a, b, b.len)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user