From 6b597ce4c877abd58b42046eb60a3ed925a08fa1 Mon Sep 17 00:00:00 2001 From: HimbeerserverDE Date: Sun, 18 Sep 2022 16:00:25 +0200 Subject: [PATCH] No arithmetic operators --- stage2/src/main.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/stage2/src/main.rs b/stage2/src/main.rs index 2c663a3..33e691c 100644 --- a/stage2/src/main.rs +++ b/stage2/src/main.rs @@ -1,7 +1,10 @@ #![no_std] #![no_main] +#![warn(clippy::arithmetic)] + use core::arch::asm; +use core::ops::{Add, Mul}; use core::panic::PanicInfo; static HELLO: &[u8] = b"Hello Stage2!"; @@ -19,16 +22,16 @@ pub extern "C" fn _start() -> ! { // Clear the screen for i in 0..vga_max { unsafe { - *vga_buffer.offset(i as isize * 2) = 0x00; - *vga_buffer.offset(i as isize * 2 + 1) = 0x07; + *vga_buffer.offset((i as isize).mul(2)) = 0x00; + *vga_buffer.offset((i as isize).mul(2).add(1)) = 0x07; } } // Print welcome message for (i, &byte) in HELLO.iter().enumerate() { unsafe { - *vga_buffer.offset(i as isize * 2) = byte; - *vga_buffer.offset(i as isize * 2 + 1) = 0x07; + *vga_buffer.offset((i as isize).mul(2)) = byte; + *vga_buffer.offset((i as isize).mul(2).add(1)) = 0x07; } } -- 2.44.0