diff options
-rw-r--r-- | CHANGELOG | 4 | ||||
-rw-r--r-- | src/long_mode/mod.rs | 5 | ||||
-rw-r--r-- | src/protected_mode/mod.rs | 5 | ||||
-rw-r--r-- | src/real_mode/mod.rs | 5 |
4 files changed, 16 insertions, 3 deletions
@@ -1,5 +1,9 @@ ## unreleased * fix incorrect old yaxpeax-arch version selection for ffi crates +* address incorrect behavior of `Prefixes::cs()` + * this "getter" would in fact set the selected segment to `cs`. it has never + actually returned a `bool`, like other selector-checking methods on + `Prefixes`. ## 1.1.5 * fix several typos across crate docs - thank you Bruce! (aka github user waywardmonkeys) diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 6412afb..a89d673 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -4557,8 +4557,11 @@ impl Prefixes { fn set_lock(&mut self) { self.bits |= 0x4 } #[inline] pub fn lock(&self) -> bool { self.bits & 0x4 == 4 } + #[deprecated(since = "0.0.1", note = "pub fn cs has never returned `bool` indicating the current selector is `cs`. use `selects_cs` for this purpose, until 2.x that will correct `pub fn cs`.")] #[inline] - pub fn cs(&mut self) { self.segment = Segment::CS } + pub fn cs(&mut self) {} + #[inline] + pub fn selects_cs(&self) -> bool { self.segment == Segment::CS } #[inline] pub fn ds(&self) -> bool { self.segment == Segment::DS } #[inline] diff --git a/src/protected_mode/mod.rs b/src/protected_mode/mod.rs index 2993968..223c834 100644 --- a/src/protected_mode/mod.rs +++ b/src/protected_mode/mod.rs @@ -4514,8 +4514,11 @@ impl Prefixes { fn set_lock(&mut self) { self.bits |= 0x4 } #[inline] pub fn lock(&self) -> bool { self.bits & 0x4 == 4 } + #[deprecated(since = "0.0.1", note = "pub fn cs has never returned `bool` indicating the current selector is `cs`. use `selects_cs` for this purpose, until 2.x that will correct `pub fn cs`.")] #[inline] - pub fn cs(&mut self) { self.segment = Segment::CS } + pub fn cs(&mut self) {} + #[inline] + pub fn selects_cs(&self) -> bool { self.segment == Segment::CS } #[inline] fn set_cs(&mut self) { self.segment = Segment::CS } #[inline] diff --git a/src/real_mode/mod.rs b/src/real_mode/mod.rs index cad9499..1f6614e 100644 --- a/src/real_mode/mod.rs +++ b/src/real_mode/mod.rs @@ -4514,8 +4514,11 @@ impl Prefixes { fn set_lock(&mut self) { self.bits |= 0x4 } #[inline] pub fn lock(&self) -> bool { self.bits & 0x4 == 4 } + #[deprecated(since = "0.0.1", note = "pub fn cs has never returned `bool` indicating the current selector is `cs`. use `selects_cs` for this purpose, until 2.x that will correct `pub fn cs`.")] #[inline] - pub fn cs(&mut self) { self.segment = Segment::CS } + pub fn cs(&mut self) {} + #[inline] + pub fn selects_cs(&self) -> bool { self.segment == Segment::CS } #[inline] fn set_cs(&mut self) { self.segment = Segment::CS } #[inline] |