Ben Lubar
18523a1821
Convert untagged unions to tagged. Fix some edge cases in check-structures-sanity union checking.
2020-02-29 15:08:39 -06:00
Ben Lubar
3240b6d897
check-structures-sanity improvements for unidentified fields and unions
...
- not being able to determine the tag for a union is now an error.
- pointer-sized unknown allocations will now be checked recursively as
if they were void pointers. this will help with identifying string
pointers on linux.
- unknown tagged union fields will be checked as void pointers if the
first identified field of the union is a pointer.
- tagged unions can now be of non-pointer types.
- tagged unions can now have complex tag enums.
2020-02-29 14:20:43 -06:00
Ben Lubar
a30678cee3
subclass struct_identity for unions
2020-02-29 13:11:23 -06:00
Pierre-David Belanger
97a31c68a8
dwarfvet log only if enabled ( fix #1504 )
2020-02-24 13:54:47 -05:00
Ben Lubar
e9564a28f5
allow tagged unions to not be union followed by tag
2020-02-23 21:33:32 -06:00
Ben Lubar
5580d375aa
add more diagnostics that will help in the identification of stl-string fields
2020-02-22 15:34:48 -06:00
Ben Lubar
37a8bf679e
fix copy/paste error
2020-02-22 14:10:26 -06:00
Ben Lubar
0711b2569a
in -sizes mode, report sizes of unknown structures behind pointers.
...
update structures
2020-02-22 14:04:53 -06:00
Ben Lubar
57154e33c8
warn about misidentified generic pointers
...
update structures
2020-02-21 18:49:02 -06:00
Ben Lubar
53da38ca47
add additional pointer, string, and vector sanity checks
...
update structures and scripts
2020-02-21 17:31:31 -06:00
Ben Lubar
f383f63eea
fix check-structures-sanity not catching certain types of invalid string on GCC builds.
...
update structures.
2020-02-21 17:31:31 -06:00
lethosor
81c304f7ee
Update stonesense, isoworld
2020-02-21 08:27:57 -05:00
Ben Lubar
38410544b0
handle tagged unions in check-structures-sanity
...
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar
ee6b281ae3
allow check-structures-sanity to check the size of the value explicitly specified in a lua expression rather than just its descendants.
...
print an error if getting the type identity fails.
2020-02-19 11:40:31 -06:00
Ben Lubar
d149763c1e
fix yet another weird use of the part of speech enum
2020-02-18 16:41:39 -06:00
Ben Lubar
0d36e62d81
fix some weird uses of the part of speech enum
2020-02-18 16:39:39 -06:00
Ben Lubar
0f857f1b20
fix msvc warning about 64-bit shift
2020-02-15 18:20:34 -06:00
Ben Lubar
d0de7865d3
fix compile for gcc 4.8
2020-02-15 18:20:32 -06:00
Ben Lubar
631b8e772c
update structures; fix -lowmem being enabled due to being uninitialized on the stack.
2020-02-15 16:10:54 -06:00
PatrikLundell
8756667d99
cursecheck: Fix werecreature detection
...
Fixes #957
2020-02-15 17:09:18 -05:00
Ben Lubar
e4ff184280
check-structures-sanity: add -lowmem argument to use depth-first search instead of readth-first search
...
add progress indicator if called from the console
2020-02-15 12:54:04 -06:00
Ben Lubar
122169a559
update scripts and structures
...
fix a crash if check-structures-sanity was called with a lua expression that evaluated to nil
2020-02-15 12:04:00 -06:00
Ben Lubar
8e5f391d3a
attempt to fix lua calls in check-structures-sanity
2020-02-15 02:42:44 -06:00
Ben Lubar
9caf6e97e6
add -enums, -sizes, and specific starting point flags to check-structures-sanity
2020-02-14 19:47:26 -06:00
Ben Lubar
4e69b50bb3
fix use-after-free in memview
2020-02-14 17:38:31 -06:00
Ben Lubar
fec6f01520
Allow uninitialized raw pointers.
2020-02-13 19:55:49 -06:00
Ben Lubar
9c34e9e584
properly check fields of the full type heirarchy
2020-02-12 18:01:49 -06:00
Ben Lubar
24918e5513
check fields of actual virtual type, not just the declared one
2020-02-12 17:57:55 -06:00
Ben Lubar
40bd55c558
don't check bad pointers
2020-02-11 17:33:33 -06:00
Ben Lubar
195b933c61
ignore contents of elements of "bad" pointer vectors
2020-02-11 17:17:11 -06:00
Ben Lubar
62af2952b7
Fix check-structures-sanity mishandling vectors of pointers.
...
Also fix detecting structures that span multiple memory segments as being outside of memory.
2020-02-11 14:11:09 -06:00
Ben Lubar
3c9f6f79ab
fix some warnings
2020-02-10 19:35:17 -06:00
PatrikLundell
1a695621c3
Adjusted to int-> enum defs, fixed bug
2020-02-10 18:22:26 -06:00
Ben Lubar
8122b95144
fix signed integer being compared to an unsigned integer
2020-02-10 11:57:27 -06:00
Ben Lubar
05a49cbacb
fix a possible SIGABRT when misdetecting a vtable as being valid
...
add enum names enum-based indexes
2020-02-09 15:12:25 -06:00
Ben Lubar
e9dba1d6ca
fix crash when checking unknown vector types. also remove the warning when unknown vector types were not pointer-aligned
2020-02-09 14:25:48 -06:00
Ben Lubar
6b828115a7
rewrite check-structures-sanity to use breadth-first search and not overflow the stack
2020-02-09 14:16:19 -06:00
lethosor
f54c361718
Add an implementation of mifki's sizecheck library (tested on Linux)
2020-02-08 21:18:29 -05:00
Ben Lubar
359cc2275a
include the windows header rather than winnt
2020-02-05 21:47:25 -06:00
Ben Lubar
d494eb619d
fix Windows 64-bit compile for check-structures-sanity
...
fix some sprintf size_t-related warnings
2020-02-05 20:29:16 -06:00
Ben Lubar
860131cf96
fix Windows 32-bit compile for check-structures-sanity
2020-02-05 20:21:32 -06:00
Ben Lubar
d9abe02b2e
add support for DfArray in check-structures-sanity
2020-02-05 19:06:14 -06:00
Ben Lubar
d7d0923044
add string checking support to check-structures-sanity
...
try to avoid crashes on bad vtables
2020-02-05 18:52:35 -06:00
Ben Lubar
3d037db789
add a tool for sanity-checking structures on a running Dwarf Fortress instance.
2020-02-05 16:36:59 -06:00
Ben Lubar
5db7d518ee
update structures; fix some minor compile warnings
2020-02-05 12:35:43 -06:00
Ben Lubar
c4b01b53a3
add new building_type enum value to labormanager
2020-02-02 17:15:40 -06:00
lethosor
bcd7974561
Merge branch 'develop' of gh:DFHack/dfhack into develop
2020-01-18 22:31:33 -05:00
lethosor
815821eb93
Merge branch 'develop' into cmake-cleanup
...
Conflicts:
depends/lua/CMakeLists.txt
plugins/CMakeLists.txt
plugins/devel/CMakeLists.txt
2020-01-18 22:28:43 -05:00
lethosor
d4d083d8cf
autofarm: fix GCC warnings
2020-01-18 20:53:13 -05:00
lethosor
f55a1b9990
autofarm: mention runonce and status in built-in help
2020-01-18 18:52:17 -05:00