Alexandre Julliard : libwine: Remove some no longer needed helper functions.
Alexandre Julliard
julliard at winehq.org
Thu Apr 9 16:04:46 CDT 2020
Module: wine
Branch: master
Commit: 18273d5e71e25575bdbdba1d252df72be3373f6d
URL: https://source.winehq.org/git/wine.git/?a=commit;h=18273d5e71e25575bdbdba1d252df72be3373f6d
Author: Alexandre Julliard <julliard at winehq.org>
Date: Thu Apr 9 11:48:23 2020 +0200
libwine: Remove some no longer needed helper functions.
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
libs/wine/ldt.c | 55 +++++++++++++++----------------------------------------
1 file changed, 15 insertions(+), 40 deletions(-)
diff --git a/libs/wine/ldt.c b/libs/wine/ldt.c
index a8f4925019..18b0b9be9b 100644
--- a/libs/wine/ldt.c
+++ b/libs/wine/ldt.c
@@ -45,26 +45,9 @@ struct __wine_ldt_copy
unsigned char flags[8192]; /* flags (defined below) */
} wine_ldt_copy_obsolete = { { 0, 0, 0 } };
-#define WINE_LDT_FLAGS_DATA 0x13 /* Data segment */
-#define WINE_LDT_FLAGS_STACK 0x17 /* Stack segment */
-#define WINE_LDT_FLAGS_CODE 0x1b /* Code segment */
-#define WINE_LDT_FLAGS_TYPE_MASK 0x1f /* Mask for segment type */
#define WINE_LDT_FLAGS_32BIT 0x40 /* Segment is 32-bit (code or stack) */
#define WINE_LDT_FLAGS_ALLOCATED 0x80 /* Segment is allocated (no longer free) */
-/* helper functions to manipulate the LDT_ENTRY structure */
-static inline void wine_ldt_set_base( LDT_ENTRY *ent, const void *base )
-{
- ent->BaseLow = (WORD)(ULONG_PTR)base;
- ent->HighWord.Bits.BaseMid = (BYTE)((ULONG_PTR)base >> 16);
- ent->HighWord.Bits.BaseHi = (BYTE)((ULONG_PTR)base >> 24);
-}
-static inline void wine_ldt_set_limit( LDT_ENTRY *ent, unsigned int limit )
-{
- if ((ent->HighWord.Bits.Granularity = (limit >= 0x100000))) limit >>= 12;
- ent->LimitLow = (WORD)limit;
- ent->HighWord.Bits.LimitHi = (limit >> 16);
-}
static inline void *wine_ldt_get_base( const LDT_ENTRY *ent )
{
return (void *)(ent->BaseLow |
@@ -77,26 +60,6 @@ static inline unsigned int wine_ldt_get_limit( const LDT_ENTRY *ent )
if (ent->HighWord.Bits.Granularity) limit = (limit << 12) | 0xfff;
return limit;
}
-static inline void wine_ldt_set_flags( LDT_ENTRY *ent, unsigned char flags )
-{
- ent->HighWord.Bits.Dpl = 3;
- ent->HighWord.Bits.Pres = 1;
- ent->HighWord.Bits.Type = flags;
- ent->HighWord.Bits.Sys = 0;
- ent->HighWord.Bits.Reserved_0 = 0;
- ent->HighWord.Bits.Default_Big = (flags & WINE_LDT_FLAGS_32BIT) != 0;
-}
-static inline unsigned char wine_ldt_get_flags( const LDT_ENTRY *ent )
-{
- unsigned char ret = ent->HighWord.Bits.Type;
- if (ent->HighWord.Bits.Default_Big) ret |= WINE_LDT_FLAGS_32BIT;
- return ret;
-}
-static inline int wine_ldt_is_empty( const LDT_ENTRY *ent )
-{
- const DWORD *dw = (const DWORD *)ent;
- return (dw[0] | dw[1]) == 0;
-}
#ifdef __linux__
@@ -207,9 +170,21 @@ void wine_ldt_get_entry_obsolete( unsigned short sel, LDT_ENTRY *entry )
lock_ldt();
if (wine_ldt_copy_obsolete.flags[index] & WINE_LDT_FLAGS_ALLOCATED)
{
- wine_ldt_set_base( entry, wine_ldt_copy_obsolete.base[index] );
- wine_ldt_set_limit( entry, wine_ldt_copy_obsolete.limit[index] );
- wine_ldt_set_flags( entry, wine_ldt_copy_obsolete.flags[index] );
+ ULONG_PTR base = (ULONG_PTR)wine_ldt_copy_obsolete.base[index];
+ ULONG limit = wine_ldt_copy_obsolete.limit[index];
+
+ entry->BaseLow = (WORD)base;
+ entry->HighWord.Bits.BaseMid = (BYTE)(base >> 16);
+ entry->HighWord.Bits.BaseHi = (BYTE)(base >> 24);
+ if ((entry->HighWord.Bits.Granularity = (limit >= 0x100000))) limit >>= 12;
+ entry->LimitLow = (WORD)limit;
+ entry->HighWord.Bits.LimitHi = (limit >> 16);
+ entry->HighWord.Bits.Dpl = 3;
+ entry->HighWord.Bits.Pres = 1;
+ entry->HighWord.Bits.Type = wine_ldt_copy_obsolete.flags[index];
+ entry->HighWord.Bits.Sys = 0;
+ entry->HighWord.Bits.Reserved_0 = 0;
+ entry->HighWord.Bits.Default_Big = !!(wine_ldt_copy_obsolete.flags[index] & WINE_LDT_FLAGS_32BIT);
}
else *entry = null_entry;
unlock_ldt();
More information about the wine-cvs
mailing list