annotate mkinstalldirs @ 43723:5cd450d9f443

* etags.c: Honour #line directives. (no_line_directive): New global var; set it for old behaviour. (main): Remove some #ifdef in the getopt switch. (add_node, put_entries): Code added to merge different chunks of nodes referring to the same file. Currently the tags are just appended, without any check for duplicates. (Perl_functions): Do not special case ctags. (readline): Identify #line directives and do the right thing. (nocharno, invalidcharno): New global vars. (process_file): Reset nocharno. (readline): Set nocharno. (pfnote): Read nocharno and maybe put invalidcharno in node. (total_size_of_entries, put_entries): Use invalidcharno. * etags.c: Keep the whole tag table in memory, even in etags mode. (main): Call put_entries here even in CTAGS mode. (main, process_file): Check the return values of fclose and pclose. (process_file): Do not call put_entries after parsing each file. (process_file): Canonicalise file names even for ctags. (process_file): Set curfile here... (find_entries): ... not here any more. (add_node): In etags mode, build a linked list of entries (on right pointer) for each file, and link the first entry of each file on left nodes. (put_entries): Print here the name of the file. (put_entries): Print the entries starting from the first file. (number_len, total_size_of_entries): Define these only iin etags mode, make the second work only on the right nodes. * etags.c: Make all global variables static.
author Francesco Potortì <pot@gnu.org>
date Tue, 05 Mar 2002 11:28:26 +0000
parents 774df19dd335
children f0eb34e60705 746c40973d25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
1 #! /bin/sh
Dave Love <fx@gnu.org>
parents:
diff changeset
2 # mkinstalldirs --- make directory hierarchy
Dave Love <fx@gnu.org>
parents:
diff changeset
3 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
Dave Love <fx@gnu.org>
parents:
diff changeset
4 # Created: 1993-05-16
Dave Love <fx@gnu.org>
parents:
diff changeset
5 # Public domain
Dave Love <fx@gnu.org>
parents:
diff changeset
6
35853
774df19dd335 (errstatus): Chmod a+rx directories we create.
Gerd Moellmann <gerd@gnu.org>
parents: 25880
diff changeset
7 # $Id: mkinstalldirs,v 1.1 2001/02/02 13:04:53 gerd Exp $
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 errstatus=0
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 for file
Dave Love <fx@gnu.org>
parents:
diff changeset
12 do
Dave Love <fx@gnu.org>
parents:
diff changeset
13 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
Dave Love <fx@gnu.org>
parents:
diff changeset
14 shift
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 pathcomp=
Dave Love <fx@gnu.org>
parents:
diff changeset
17 for d
Dave Love <fx@gnu.org>
parents:
diff changeset
18 do
Dave Love <fx@gnu.org>
parents:
diff changeset
19 pathcomp="$pathcomp$d"
Dave Love <fx@gnu.org>
parents:
diff changeset
20 case "$pathcomp" in
Dave Love <fx@gnu.org>
parents:
diff changeset
21 -* ) pathcomp=./$pathcomp ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
22 esac
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 if test ! -d "$pathcomp"; then
Dave Love <fx@gnu.org>
parents:
diff changeset
25 echo "mkdir $pathcomp" 1>&2
Dave Love <fx@gnu.org>
parents:
diff changeset
26
35853
774df19dd335 (errstatus): Chmod a+rx directories we create.
Gerd Moellmann <gerd@gnu.org>
parents: 25880
diff changeset
27 (mkdir "$pathcomp" && chmod a+rx "$pathcomp") || lasterr=$?
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
28
Dave Love <fx@gnu.org>
parents:
diff changeset
29 if test ! -d "$pathcomp"; then
Dave Love <fx@gnu.org>
parents:
diff changeset
30 errstatus=$lasterr
Dave Love <fx@gnu.org>
parents:
diff changeset
31 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
32 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 pathcomp="$pathcomp/"
Dave Love <fx@gnu.org>
parents:
diff changeset
35 done
Dave Love <fx@gnu.org>
parents:
diff changeset
36 done
Dave Love <fx@gnu.org>
parents:
diff changeset
37
Dave Love <fx@gnu.org>
parents:
diff changeset
38 exit $errstatus
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 # mkinstalldirs ends here