mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
test-wrap-argv: add --in-place parameter
If --in-place is supplied as the first argument to the script, replace the file in-place instead of printing to stdout.
This commit is contained in:
parent
b0590a53a5
commit
f46fb819a9
@ -22,7 +22,16 @@
|
||||
# of the file. Parameter values that are longer than 80 chars will
|
||||
# also be split.
|
||||
#
|
||||
# If --in-place is supplied as the first parameter of this script,
|
||||
# the files will be changed in place.
|
||||
# Otherwise the rewrapped files are printed to the standard output.
|
||||
|
||||
$in_place = 0;
|
||||
|
||||
if (@ARGV[0] eq "--in-place") {
|
||||
$in_place = 1;
|
||||
shift @ARGV;
|
||||
}
|
||||
|
||||
foreach my $file (@ARGV) {
|
||||
&rewrap($file);
|
||||
@ -57,10 +66,19 @@ sub rewrap {
|
||||
|
||||
# Now each @lines represents a single command, we
|
||||
# can process them
|
||||
foreach my $line (@lines) {
|
||||
print &rewrap_line ($line);
|
||||
}
|
||||
@lines = map { &rewrap_line($_) } @lines;
|
||||
|
||||
if ($in_place) {
|
||||
open FILE, ">", $file or die "cannot write $file: $!";
|
||||
foreach my $line (@lines) {
|
||||
print FILE $line;
|
||||
}
|
||||
close FILE;
|
||||
} else {
|
||||
foreach my $line (@lines) {
|
||||
print $line;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub rewrap_line {
|
||||
|
@ -438,26 +438,20 @@ static int
|
||||
virTestRewrapFile(const char *filename)
|
||||
{
|
||||
int ret = -1;
|
||||
char *outbuf = NULL;
|
||||
char *script = NULL;
|
||||
virCommandPtr cmd = NULL;
|
||||
|
||||
if (virAsprintf(&script, "%s/test-wrap-argv.pl", abs_srcdir) < 0)
|
||||
goto cleanup;
|
||||
|
||||
cmd = virCommandNewArgList(script, filename, NULL);
|
||||
virCommandSetOutputBuffer(cmd, &outbuf);
|
||||
cmd = virCommandNewArgList(script, "--in-place", filename, NULL);
|
||||
if (virCommandRun(cmd, NULL) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virFileWriteStr(filename, outbuf, 0666) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
cleanup:
|
||||
VIR_FREE(script);
|
||||
virCommandFree(cmd);
|
||||
VIR_FREE(outbuf);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user