From 19b741835f684191f35c05d21c1b098a80a96410 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Sun, 15 Jun 2008 18:33:03 -0700 Subject: [PATCH] syncfiles: handle the case of the null path separator Correctly handle the null path separator (meaning remove the directory portion entirely.) --- Mkfiles/netware.mak | 10 +++++----- syncfiles.pl | 12 ++++++++++-- 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 = )) { - if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]+)\"/) { + if ($line =~ /^\#\s+\@(\S+)\:\s*\"([^\"]*)\"/) { $hints{$1} = $2; } } -- 2.7.4