it looks like this is the line that empties the file:
copy("$nullPath $bundleEmailFilePath/$bundleEmailFileName")
it looks difficult to change because a) this appears to be a class definition and i don't know what all it might be doing and b) the copy() command is in the middle of an if statement.
HOWEVER, you might be able to put something like this:
fopen("$bundleEmailFilePath/$bundleEmailFileName", "w");
in its place. you'd need to make sure you closed the file when you were done. so you'd get something like this:
function &clearBundlingFile() { // STATIC VOID METHOD
global $willUseEmailBundling, $bundleEmailFilePath, $bundleEmailFileName, $nullPath;
if ($this->isSuccessful && $willUseEmailBundling && is_file("$bundleEmailFilePath/$bundleEmailFileName") &&
@!($fp = fopen("$bundleEmailFilePath/$bundleEmailFileName", "w"))
) {
list($copyKommand, $copyRedirect) = @array_values($this->getKommandOSArray('copy'));
$msg = exec("$copyKommand $nullPath $bundleEmailFilePath/$bundleEmailFileName $copyRedirect");
if ($msg) {
unset($msg); // CLEAR ORIGINAL ERROR MESSAGE FOR ATTEMPTING TO OVERWRITE WITH NULL
@file_put_contents("$bundleEmailFilePath/$bundleEmailFileName", null);
if (file_get_contents("$bundleEmailFilePath/$bundleEmailFileName")) { // CONTENT STILL FOUND - PROBLEM
$this->isSuccessful = false;
$this->setErrorArray(array('action' => "Could not rewrite file \"$bundleEmailFileName\" for clearing"));
}
}
if ($msg) {
$this->isSuccessful = false;
$this->setErrorArray(array('action' => "Could not clear bundling file \"$bundleEmailFileName\": " . nl2br($msg)));
}
} else {
fclose($fp);
}
}
EDIT: I haven't tested that and i'm not sure it'll work, so try it at your own risk.