Skip to content

Commit cf49284

Browse files
committed
Merge pull request mathjax#74 from sammarshallou/BatikExecQuoting
Changed Batik calls to use execFile instead of exec
2 parents 2ea8a64 + c6a12cb commit cf49284

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

lib/mj-page.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var path = require('path');
3131
var url = require('url');
3232
var fmt = require('util').format;
3333
var jsdom = require("jsdom").jsdom;
34-
var exec = require('child_process').exec;
34+
var execFile = require('child_process').execFile;
3535
var speech = require('speech-rule-engine');
3636
var os = require('os');
3737

@@ -664,7 +664,7 @@ function MakeIMG() {
664664
function MakePNG() {
665665
if (data.renderer === "PNG") {
666666
var synch = MathJax.Callback(function () {}); // for synchronization with MathJax
667-
var batikCommand = fmt("java -jar %s -dpi %d '%s.svg'",BatikRasterizerPath,data.dpi,tmpfile);
667+
var batikCommands = ['-jar', BatikRasterizerPath, '-dpi', data.dpi, tmpfile + '.svg'];
668668
var tmpSVG = tmpfile+".svg", tmpPNG = tmpfile+".png";
669669
var nodes = document.getElementsByClassName("MathJax_SVG");
670670
var check = function (err) {if (err) {AddError(err.message); return true}}
@@ -682,7 +682,7 @@ function MakePNG() {
682682
].join("\n");
683683
fs.writeFile(tmpSVG,svg,function (err) {
684684
if (check(err)) return PNG(i-1);
685-
exec(batikCommand, function (err,stdout,stderr) {
685+
execFile('java', batikCommands, function (err,stdout,stderr) {
686686
if (check(err)) {fs.unlinkSync(tmpSVG); return PNG(i-1)}
687687
fs.readFile(tmpPNG,null,function (err,buffer) {
688688
if (!check(err)) {

lib/mj-single.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ var path = require('path');
3232
var url = require('url');
3333
var fmt = require('util').format;
3434
var jsdom = require('jsdom').jsdom;
35-
var exec = require('child_process').exec;
35+
var execFile = require('child_process').execFile;
3636
var speech = require('speech-rule-engine');
3737
var os = require('os');
3838

@@ -461,13 +461,13 @@ function GetSVG(result) {
461461
function GetPNG(result) {
462462
var svgfile = result.svgfile; delete result.svgfile;
463463
if (data.png) {
464-
var batikCommand = fmt("java -jar %s -dpi %d '%s.svg'",BatikRasterizerPath,data.dpi,tmpfile);
464+
var batikCommands = ['-jar', BatikRasterizerPath, '-dpi', data.dpi, tmpfile + '.svg'];
465465
var synch = MathJax.Callback(function () {}); // for synchronization with MathJax
466466
var check = function (err) {if (err) {AddError(err.message); synch(); return true}}
467467
var tmpSVG = tmpfile+".svg", tmpPNG = tmpfile+".png";
468468
fs.writeFile(tmpSVG,svgfile,function (err) {
469469
if (check(err)) return;
470-
exec(batikCommand, function (err,stdout,stderr) {
470+
execFile('java', batikCommands, function (err,stdout,stderr) {
471471
if (check(err)) {fs.unlinkSync(tmpSVG); return}
472472
fs.readFile(tmpPNG,null,function (err,buffer) {
473473
result.png = "data:image/png;base64,"+(buffer||"").toString('base64');

0 commit comments

Comments
 (0)