summaryrefslogtreecommitdiff
path: root/makedepend.SH
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2013-02-27 21:59:11 -0700
committerKarl Williamson <khw@cpan.org>2014-10-21 09:26:49 -0600
commitd11389730686d2620d5490fa96eb210ea5837773 (patch)
treed05fff1516ee945b92b60d49ba9c3b035ca0c2f5 /makedepend.SH
parent0e0580046e789498690a4323d54c9c0ba13a05c5 (diff)
downloadperl-d11389730686d2620d5490fa96eb210ea5837773.tar.gz
makedepend.SH: Split too long lines; properly join
I had thought that a continuation introduced a space. But no, a continuation can happen in the middle of a token. And this splits lines that are getting very long to avoid preprocessor limitations.
Diffstat (limited to 'makedepend.SH')
-rwxr-xr-xmakedepend.SH6
1 files changed, 4 insertions, 2 deletions
diff --git a/makedepend.SH b/makedepend.SH
index ff66bc0dd8..9870c3f881 100755
--- a/makedepend.SH
+++ b/makedepend.SH
@@ -157,7 +157,8 @@ for file in `$cat .clist`; do
# end of line (including preceding white space) things that start with '/*'
# and the next char isn't a '*'; then things that start with '/**', but the
# next char isn't a '/'. (Subsequent lines of the comment are irrelevant
- # and get dropped.)
+ # and get dropped.) At the end, we unjoin very long lines to avoid
+ # preprocessor limitations
( $echo "#line 2 \"$file\""; \
$sed -n <$file \
-e "/^${filebase}_init(/q" \
@@ -167,11 +168,12 @@ for file in `$cat .clist`; do
-e 'N' \
-e 'b testcont' \
-e '}' \
- -e 's/\\\n/ /g' \
+ -e 's/\\\n//g' \
-e '/^#line/d' \
-e '/^[ ]*#/{' \
-e 's|[ ]*/\*[^*].*$||' \
-e 's|[ ]*/\*\*[^/].*$||' \
+ -e 's/.\{255\}/&\\\n/g' \
-e p \
-e '}' ) >UU/$file.c