summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-06-15 18:33:03 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-06-15 18:33:03 -0700
commit19b741835f684191f35c05d21c1b098a80a96410 (patch)
tree99ed31df1b40d81f0d488c3b4ae408ad658de642
parent6f4252afeac7e11092601738b8f60e037245010b (diff)
downloadnasm-19b741835f684191f35c05d21c1b098a80a96410.tar.gz
nasm-19b741835f684191f35c05d21c1b098a80a96410.tar.bz2
nasm-19b741835f684191f35c05d21c1b098a80a96410.zip
syncfiles: handle the case of the null path separator
Correctly handle the null path separator (meaning remove the directory portion entirely.)
-rw-r--r--Mkfiles/netware.mak10
-rwxr-xr-xsyncfiles.pl12
2 files changed, 15 insertions, 7 deletions
diff --git a/Mkfiles/netware.mak b/Mkfiles/netware.mak
index 775ead9..6f72dd5 100644
--- a/Mkfiles/netware.mak
+++ b/Mkfiles/netware.mak
@@ -33,11 +33,11 @@ O = o
NASM = nasm.o nasmlib.o raa.o saa.o \
float.o insnsa.o insnsb.o \
assemble.o labels.o hashtbl.o crc64.o parser.o \
- outform.o output/outbin.o \
- output/outaout.o output/outcoff.o \
- output/outelf32.o output/outelf64.o \
- output/outobj.o output/outas86.o output/outrdf2.o \
- output/outdbg.o output/outieee.o output/outmacho.o \
+ outform.o outbin.o \
+ outaout.o outcoff.o \
+ outelf32.o outelf64.o \
+ outobj.o outas86.o outrdf2.o \
+ outdbg.o outieee.o outmacho.o \
preproc.o quote.o pptok.o macros.o \
listing.o eval.o exprlib.o stdscan.o strfunc.o \
tokhash.o regvals.o regflags.o
diff --git a/syncfiles.pl b/syncfiles.pl
index ea77ca4..bd40ff2 100755
--- a/syncfiles.pl
+++ b/syncfiles.pl
@@ -11,11 +11,19 @@
sub do_transform($$) {
my($l, $h) = @_;
+ my($ps) = $$h{'path-separator'};
$l =~ s/\x01/$$h{'object-ending'}/g;
- $l =~ s/\x02/$$h{'path-separator'}/g;
$l =~ s/\x03/$$h{'continuation'}/g;
+ if ($ps eq '') {
+ # Remove the path separator and the preceeding directory
+ $l =~ s/\S*\x02//g;
+ } else {
+ # Convert the path separator
+ $l =~ s/\x02/$ps/g;
+ }
+
return $l;
}
@@ -31,7 +39,7 @@ foreach $file (@ARGV) {
# First, read the syntax hints
%hints = %def_hints;
while (defined($line = <FILE>)) {
- if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]+)\"/) {
+ if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]*)\"/) {
$hints{$1} = $2;
}
}