URI: 
       tproto.sh - ploot - simple plotting tools
  HTML git clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot
   DIR Log
   DIR Files
   DIR Refs
   DIR Tags
   DIR README
       ---
       tproto.sh (1328B)
       ---
            1 #!/bin/sh
            2 awk='
            3 BEGIN {
            4         tab = "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"
            5         print "/**/"
            6 }
            7 
            8 END {
            9         print ""
           10         print "#endif"
           11 }
           12 
           13 # functions
           14 
           15 args {
           16         sub(/^[ \t]*/, " ")
           17         args = args $0
           18 }
           19 
           20 /^[a-zA-Z0-9_]+\([][)(a-z_A-Z0-9*,. \t]*$/ {
           21         if (match(type, "static") || match($0, ";$"))
           22                 next
           23 
           24         symbol = $0
           25         sub(/\(.*/, "", symbol)
           26         sub(/[a-zA-Z0-9_]*\(/, "", $0)
           27         if (symbol == "main")
           28                 next
           29 
           30         args = $0
           31         sub(/^[a-z]*\(/, "", args)
           32 }
           33 
           34 args && /\)$/ {
           35         gsub(/[\n \t]+/, " ", args)
           36 
           37         sub(/\)$/, "", args)
           38 
           39         gsub(/[a-zA-Z0-9_]+\[[^]]*\]/, "[]", args)
           40         gsub(/[*][a-zA-Z0-9_]+/, "*", args)
           41         gsub(/[ ][a-zA-Z0-9_]+,/, ",", args)
           42         gsub(/[ ][a-zA-Z0-9_]+$/, "", args)
           43         gsub(/[ ][a-zA-Z0-9_]+\*/, "*", args)
           44         gsub(/\.\.\.\$/, "...", args)
           45         gsub(/void\)$/, "void", args)
           46 
           47         printf("%s%s%s%s(%s);\n",
           48             type, substr(tab, 1, 20 / 8 - (length(type) - 3) / 8),
           49             symbol, substr(tab, 1, 30 / 8 - (length(symbol) - 1) / 8),
           50             args)
           51 
           52         args = ""
           53 }
           54 
           55 !args {
           56         type = $0
           57 }
           58 
           59 # variables
           60 
           61 /^[a-zA-Z][][ \t*a-z_A-Z0-9]*=.*[;{]$/ && $1 != "static" && $1 != "enum" {
           62         sub(/ *=.*/, ";")
           63         sub(/[ \t]*;$/, ";");
           64         print
           65 }
           66 '
           67 
           68 for file in src/*.c; do file=${file%.c}
           69         grep -Fq '/**/' "$file.h" 2>/dev/null || continue
           70         header=$(awk '$0 == "/**/" { exit(0) } 1' "$file.h"
           71                 awk "$awk" "$file.c")
           72         printf '%s\n' "$header" >"$file.h"
           73 done