Skip to content

Commit 1121fa1

Browse files
authored
Hlmem : Allow loading hl files ending with .dat (#928)
And fix crash when providing no parameter to locate/count/parents/subs
1 parent 5a58f02 commit 1121fa1

1 file changed

Lines changed: 38 additions & 22 deletions

File tree

other/haxelib/hlmem/Main.hx

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -53,33 +53,49 @@ class Main {
5353
res.sort(sortByCount);
5454
res.print();
5555
case "locate":
56-
var lt = mem.resolveType(args.shift());
57-
if( lt != null ) {
58-
var res = mem.locate(lt, Std.parseInt(args.shift()));
59-
res.sort(sortByCount);
60-
res.print();
56+
if (args.length == 0) {
57+
Sys.println("Must specify type");
58+
} else {
59+
var lt = mem.resolveType(args.shift());
60+
if( lt != null ) {
61+
var res = mem.locate(lt, Std.parseInt(args.shift()));
62+
res.sort(sortByCount);
63+
res.print();
64+
}
6165
}
6266
case "count":
63-
var lt = mem.resolveType(args.shift());
64-
if( lt != null ) {
65-
var res = mem.count(lt, args);
66-
res.sort(sortByCount);
67-
res.printWithSum = true;
68-
res.print();
67+
if (args.length == 0) {
68+
Sys.println("Must specify type");
69+
} else {
70+
var lt = mem.resolveType(args.shift());
71+
if( lt != null ) {
72+
var res = mem.count(lt, args);
73+
res.sort(sortByCount);
74+
res.printWithSum = true;
75+
res.print();
76+
}
6977
}
7078
case "parents":
71-
var lt = mem.resolveType(args.shift());
72-
if( lt != null ) {
73-
var res = mem.parents(lt);
74-
res.sort(sortByCount);
75-
res.print();
79+
if (args.length == 0) {
80+
Sys.println("Must specify type");
81+
} else {
82+
var lt = mem.resolveType(args.shift());
83+
if( lt != null ) {
84+
var res = mem.parents(lt);
85+
res.sort(sortByCount);
86+
res.print();
87+
}
7688
}
7789
case "subs":
78-
var lt = mem.resolveType(args.shift());
79-
if( lt != null ) {
80-
var res = mem.subs(lt, Std.parseInt(args.shift()));
81-
res.sort(sortByCount);
82-
res.print();
90+
if (args.length == 0) {
91+
Sys.println("Must specify type");
92+
} else {
93+
var lt = mem.resolveType(args.shift());
94+
if( lt != null ) {
95+
var res = mem.subs(lt, Std.parseInt(args.shift()));
96+
res.sort(sortByCount);
97+
res.print();
98+
}
8399
}
84100
case "sort":
85101
switch( args.shift() ) {
@@ -137,7 +153,7 @@ class Main {
137153
var code = null, memory = null;
138154
while( args.length > 0 ) {
139155
var arg = args.shift();
140-
if( StringTools.endsWith(arg, ".hl") ) {
156+
if( StringTools.endsWith(arg, ".hl") || StringTools.endsWith(arg, ".dat") ) {
141157
code = arg;
142158
analyzer.loadBytecode(arg);
143159
continue;

0 commit comments

Comments
 (0)