Socket: BUGFIX: Move incorrect v-function call out of FileBody destructor
[senf.git] / doclib / dot
1 #!/bin/sh
2
3 topdir="`dirname "$0"`"; topdir="`cd "$topdir/.."; pwd`"
4 "$topdir/doclib/dot-munge.pl" "$1"
5
6 case "$2" in
7     -Tpng:gd)
8         first="$1"; shift; shift
9         set -- "$first" "-Tpng" "$@"
10         ;;
11     *)
12 esac
13
14 set -e
15
16 dot "$@"
17
18 case "$4" in
19     *.png)
20         if [ -r "$4" ]; then
21             size="`pngtopnm "$4" | sed -n -e '2p'`"
22             width_a="${size% *}"
23             height_a="${size#* }"
24             if [ $width_a -gt 800 ]; then
25                 for file in "${1%.dot}".*; do
26                     cp "$file" "$file.a"
27                 done
28                 sed -e 's/rankdir=LR/rankdir=TB/' -e t -e 's/rankdir=TB/rankdir=LR/' "$1.a" > "$1"
29                 dot "$@"
30                 size="`pngtopnm "$4" | sed -n -e '2p'`"
31                 width_b="${size% *}"
32                 height_b="${size#* }"
33                 if [ $width_a -lt $width_b ]; then
34                     for file in "${1%.dot}".*.a; do
35                         mv "$file" "${file%.a}"
36                     done
37                 else
38                     rm "${1%.dot}".*.a
39                 fi
40             fi
41         fi
42         ;;
43     *)  ;;
44 esac