Skip to content

Commit f191d9b

Browse files
committed
Fix fixes for /t and node20
1 parent ecfee39 commit f191d9b

File tree

4 files changed

+3906
-2440
lines changed

4 files changed

+3906
-2440
lines changed

www/lib/r2.js

+30-26
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* radare2 Copyleft 2013-2016 pancake */
1+
/* radare2 Copyleft 2013-2024 pancake */
22

33
var r2 = {};
44

@@ -437,12 +437,9 @@ function _internal_cmd(c, cb, err) {
437437
if (hascmd) {
438438
// TODO: use setTimeout for async?
439439
if (typeof (r2plugin) != 'undefined') {
440-
// duktape
441-
return cb(r2cmd(c));
442-
} else {
443-
// node
444-
return hascmd(c, cb);
440+
return cb(r2cmd(c)); // duktape
445441
}
442+
return hascmd(c, cb); // node
446443
} else {
447444
Ajax('GET', r2.root + '/cmd/' + encodeURI(c), '', function(x) {
448445
if (cb) {
@@ -565,30 +562,30 @@ r2.getTextLogger = function(obj) {
565562

566563
r2.filter_asm = function(x, display) {
567564
var curoff = backward ? prev_curoff : next_curoff;
568-
;
569565
var lastoff = backward ? prev_lastoff : next_lastoff;
570-
;
571566
var lines = x.split(/\n/g);
572567
r2.cmd('s', function(x) {
573568
curoff = x;
574569
});
575-
for (var i = lines.length - 1; i > 0; i--) {
570+
for (let i = lines.length - 1; i > 0; i--) {
576571
var a = lines[i].match(/0x([a-fA-F0-9]+)/);
577572
if (a && a.length > 0) {
578573
lastoff = a[0].replace(/:/g, '');
579574
break;
580575
}
581576
}
582577
if (display == 'afl') {
583-
//hasmore (false);
584-
var z = '';
585-
for (var i = 0; i < lines.length; i++) {
586-
var row = lines[i].replace(/\ +/g, ' ').split(/ /g);
578+
// hasmore (false);
579+
let z = '';
580+
for (let i = 0; i < lines.length; i++) {
581+
const row = lines[i].replace(/\ +/g, ' ').split(/ /g);
587582
z += row[0] + ' ' + row[3] + '\n';
588583
}
589584
x = z;
590-
} else if (display[0] == 'f') {
591-
//hasmore (false);
585+
} else if (display === '') {
586+
// nothing
587+
} else if (display[0] === 'f') {
588+
// hasmore (false);
592589
if (display[1] == 's') {
593590
var z = '';
594591
for (var i = 0; i < lines.length; i++) {
@@ -603,34 +600,41 @@ r2.filter_asm = function(x, display) {
603600
} else {
604601
}
605602
} else if (display[0] == 'i') {
606-
//hasmore (false);
603+
// hasmore (false);
607604
if (display[1]) {
608605
var z = '';
609606
for (var i = 0; i < lines.length; i++) {
610607
var elems = lines[i].split(/ /g);
611608
var name = '';
612609
var addr = '';
613610
for (var j = 0; j < elems.length; j++) {
614-
var kv = elems[j].split(/=/);
615-
if (kv[0] == 'addr') {
616-
addr = kv[1];
611+
const kv = elems[j].split(/=/);
612+
if (kv.length !== 2) {
613+
continue;
617614
}
618-
if (kv[0] == 'name') {
619-
name = kv[1];
620-
}
621-
if (kv[0] == 'string') {
615+
switch (kv[0]) {
616+
case 'addr':
617+
addr = kv[1];
618+
break;
619+
case 'name':
620+
case 'string':
622621
name = kv[1];
622+
break;
623623
}
624624
}
625625
z += addr + ' ' + name + '\n';
626626
}
627627
x = z;
628628
}
629-
} //else hasmore (true);
629+
} // else hasmore (true);
630630

631631
function haveDisasm(x) {
632-
if (x[0] == 'p' && x[1] == 'd') return true;
633-
if (x.indexOf(';pd') != -1) return true;
632+
if (x[0] == 'p' && x[1] == 'd') {
633+
return true;
634+
}
635+
if (x.indexOf(';pd') != -1) {
636+
return true;
637+
}
634638
return false;
635639
}
636640
if (haveDisasm(display)) {

www/t/Makefile

+6-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
VERSION=0.1.1
2+
NPMBIN=node_modules/.bin
23

34
GLOBALS=
45
GLOBALS+=--global _
@@ -19,22 +20,24 @@ node_modules:
1920
build: node_modules
2021
mkdir -p dist/t
2122
rm -rf dist
22-
$(shell npm bin)/gulp
23+
$(NPMBIN)/gulp
2324

2425
dist:
2526
rm -f $(DISTZIP)
2627
cd ../../dist && zip -r $(DISTZIP) t
2728

2829
run: dist
2930
# r2 -e http.ui=dist -e http.root=$$PWD -qc=H /bin/ls
31+
(sleep 1 && open http://localhost:9090/t) &
3032
r2 -qcq -e http.verbose=true -e http.root=$$PWD/../../dist -e http.ui=t -e http.sandbox=0 -c=H /bin/ls
3133

3234
watch:
33-
$(shell npm bin)/gulp watch
35+
#$(shell npm bin)/gulp watch
36+
$(NPMBIN)/gulp watch
3437

3538
mrproper: clean
3639
rm -rf node_modules
3740

3841

3942
indent:
40-
node_modules/.bin/semistandard $(GLOBALS) --fix js/*.js
43+
$(NPMBIN)/semistandard $(GLOBALS) --fix js/*.js

www/t/js/main.js

+14-11
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ window.onload = function () {
164164
input.onkeyup = function (ev) {
165165
if (ev.keyCode === 13) {
166166
r2.cmd(input.value, function (x) {
167-
_(n + '_output').innerHTML = '<pre>' + x + '</pre>';
167+
_(n + '_output').innerHTML = x; // '<pre>' + x + '</pre>';
168168
input.value = '';
169169
});
170170
}
@@ -302,9 +302,8 @@ window.onload = function () {
302302
_(n + '_hexdump').innerHTML = seekbar +
303303
'<br /><center><a class=link href=\'#\' id=' + idPrev + '>[PREV]</a>' +
304304
'<a class=link href=\'#\' id=' + id_goto + '>[GOTO]</a>' +
305-
'<a class=link href=\'#\' id=' + idNext + '>[NEXT]</a></center>' +
306-
'<pre>' + x + '</pre>'
307-
;
305+
'<a class=link href=\'#\' id=' + idNext + '>[NEXT]</a></center>' + x;
306+
// '<pre>' + x + '</pre>' ;
308307
// var q = document.getElementById(n+'_hexdump_hex_prev');
309308
var q = document.getElementById(idPrev);
310309
q.onclick = function () {
@@ -418,8 +417,8 @@ window.onload = function () {
418417
_(n + '_code').innerHTML = seekbar +
419418
'<br /><center><a class=link href=\'#\' id=' + idPrev + '>[PREV]</a>' +
420419
'<a class=link href=\'#\' id=' + id_goto + '>[GOTO]</a>' +
421-
'<a class=link href=\'#\' id=' + idNext + '>[NEXT]</a></center>' +
422-
'<pre>' + x + '</pre>';
420+
'<a class=link href=\'#\' id=' + idNext + '>[NEXT]</a></center>' + x;
421+
// '<pre>' + x + '</pre>';
423422
var q = document.getElementById(idPrev);
424423
q.onclick = function () {
425424
r2.cmd('s-512;s', function (res) {
@@ -451,6 +450,10 @@ window.onload = function () {
451450
});
452451
seekAction();
453452
r2.cmd('s', function (res) {
453+
if (typeof frame === 'undefined') {
454+
alert("Noframe");
455+
return;
456+
}
454457
frame.offset = res.trim();
455458
seekAction();
456459
frame.refresh();
@@ -466,12 +469,12 @@ window.onload = function () {
466469
r2.cmd(t.cmd, function (x) {
467470
x = r2.filter_asm(x, 'pd');
468471
_(t.key).innerHTML =
469-
'<div class=\'frame_body\'><a href=\'#\' id=\'cmd_' + ctr + '\'>cmd</a><pre>' + x + '</pre></div>';
472+
'<div class=\'frame_body\'><a href=\'#\' id=\'cmd_' + ctr + '\'>cmd</a>' + x + '</div>';
470473
});
471474
};
472475
_('cmd_' + ctr).onclick = function () {
473476
t.key = 'div_' + ctr;
474-
t.cmd = prompt();
477+
t.cmd = prompt("lala");
475478
t.update();
476479
};
477480
}
@@ -498,12 +501,12 @@ window.onload = function () {
498501
r2.cmd(t.cmd, function (x) {
499502
x = r2.filter_asm(x);
500503
_(t.key).innerHTML =
501-
'<div class=\'frame_body\'><pre>' + x + '</pre></div>';
504+
'<div class=\'frame_body\'>' + x + '</div>';
502505
});
503506
};
504507
_('cmd_' + ctr).onclick = function () {
505508
t.key = 'div_' + ctr;
506-
t.cmd = prompt();
509+
t.cmd = prompt("pene");
507510
t.update();
508511
};
509512
};
@@ -559,7 +562,7 @@ case 'K': t.move_frame ('up'); break;
559562
case 'L': t.move_frame ('right'); break;
560563
*/
561564
case 'i':
562-
r2.cmd('pi 2', function (x) { alert(x); });
565+
r2.cmd('pi 2', alert);
563566
break;
564567
case '!':
565568
r2.cmd(prompt('Command to execute'), function (x) { alert(x); });

0 commit comments

Comments
 (0)