aboutsummaryrefslogtreecommitdiff
path: root/e2fslib/et/et_c.awk
diff options
context:
space:
mode:
Diffstat (limited to 'e2fslib/et/et_c.awk')
-rw-r--r--e2fslib/et/et_c.awk187
1 files changed, 0 insertions, 187 deletions
diff --git a/e2fslib/et/et_c.awk b/e2fslib/et/et_c.awk
deleted file mode 100644
index 5f95b55..0000000
--- a/e2fslib/et/et_c.awk
+++ /dev/null
@@ -1,187 +0,0 @@
-BEGIN {
-char_shift=64
-## "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_";
-c2n["A"]=1
-c2n["B"]=2
-c2n["C"]=3
-c2n["D"]=4
-c2n["E"]=5
-c2n["F"]=6
-c2n["G"]=7
-c2n["H"]=8
-c2n["I"]=9
-c2n["J"]=10
-c2n["K"]=11
-c2n["L"]=12
-c2n["M"]=13
-c2n["N"]=14
-c2n["O"]=15
-c2n["P"]=16
-c2n["Q"]=17
-c2n["R"]=18
-c2n["S"]=19
-c2n["T"]=20
-c2n["U"]=21
-c2n["V"]=22
-c2n["W"]=23
-c2n["X"]=24
-c2n["Y"]=25
-c2n["Z"]=26
-c2n["a"]=27
-c2n["b"]=28
-c2n["c"]=29
-c2n["d"]=30
-c2n["e"]=31
-c2n["f"]=32
-c2n["g"]=33
-c2n["h"]=34
-c2n["i"]=35
-c2n["j"]=36
-c2n["k"]=37
-c2n["l"]=38
-c2n["m"]=39
-c2n["n"]=40
-c2n["o"]=41
-c2n["p"]=42
-c2n["q"]=43
-c2n["r"]=44
-c2n["s"]=45
-c2n["t"]=46
-c2n["u"]=47
-c2n["v"]=48
-c2n["w"]=49
-c2n["x"]=50
-c2n["y"]=51
-c2n["z"]=52
-c2n["0"]=53
-c2n["1"]=54
-c2n["2"]=55
-c2n["3"]=56
-c2n["4"]=57
-c2n["5"]=58
-c2n["6"]=59
-c2n["7"]=60
-c2n["8"]=61
-c2n["9"]=62
-c2n["_"]=63
-}
-/^#/ { next }
-/^[ \t]*(error_table|et)[ \t]+[a-zA-Z][a-zA-Z0-9_]+/ {
- table_number = 0
- table_name = $2
- mod_base = 1000000
- for(i=1; i<=length(table_name); i++) {
- table_number=(table_number*char_shift)+c2n[substr(table_name,i,1)]
- }
-
- # We start playing *_high, *low games here because the some
- # awk programs do not have the necessary precision (sigh)
- tab_base_low = table_number % mod_base
- if (tab_base_low < 0) {
- # Work around stupid bug in the ARM libm
- tab_base_low = tab_base_low + mod_base
- }
- tab_base_high = int(table_number / mod_base)
- tab_base_sign = 1;
-
- # figure out: table_number_base=table_number*256
- tab_base_low = tab_base_low * 256
- tab_base_high = (tab_base_high * 256) + \
- int(tab_base_low / mod_base)
- tab_base_low = tab_base_low % mod_base
- if (tab_base_low < 0) {
- # Work around stupid bug in the ARM libm
- tab_base_low = tab_base_low + mod_base
- }
-
- if (table_number > 128*256*256) {
- # figure out: table_number_base -= 256*256*256*256
- # sub_high, sub_low is 256*256*256*256
- sub_low = 256*256*256 % mod_base
- sub_high = int(256*256*256 / mod_base)
-
- sub_low = sub_low * 256
- sub_high = (sub_high * 256) + int(sub_low / mod_base)
- sub_low = sub_low % mod_base
-
- tab_base_low = sub_low - tab_base_low;
- tab_base_high = sub_high - tab_base_high;
- tab_base_sign = -1;
- if (tab_base_low < 0) {
- tab_base_low = tab_base_low + mod_base
- tab_base_high--
- }
- }
- print "/*" > outfile
- print " * " outfile ":" > outfile
- print " * This file is automatically generated; please do not edit it." > outfile
- print " */" > outfile
-
- print "" > outfile
- print "static const char * const text[] = {" > outfile
- table_item_count = 0
-}
-
-/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*$/ {
- skipone=1
- next
-}
-
-/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*".*"[ \t]*$/ {
- text=""
- for (i=3; i<=NF; i++) {
- text = text FS $i
- }
- text=substr(text,2,length(text)-1);
- printf "\t%s,\n", text > outfile
- table_item_count++
-}
-
-{
- if (skipone) {
- printf "\t%s,\n", $0 > outfile
- table_item_count++
- }
- skipone=0
-}
-END {
-
-
- print " 0" > outfile
- print "};" > outfile
- print "" > outfile
- print "struct error_table {" > outfile
- print " char const * const * msgs;" > outfile
- print " long base;" > outfile
- print " int n_msgs;" > outfile
- print "};" > outfile
- print "struct et_list {" > outfile
- print " struct et_list *next;" > outfile
- print " const struct error_table * table;" > outfile
- print "};" > outfile
- print "extern struct et_list *_et_list;" > outfile
- print "" > outfile
- if (tab_base_high == 0) {
- print "static const struct error_table et = { text, " \
- sprintf("%dL, %d };", tab_base_sign*tab_base_low, \
- table_item_count) > outfile
- } else {
- print "static const struct error_table et = { text, " \
- sprintf("%d%06dL, %d };", tab_base_sign*tab_base_high, \
- tab_base_low, table_item_count) > outfile
- }
- print "" > outfile
- print "static struct et_list link = { 0, 0 };" > outfile
- print "" > outfile
- print "void initialize_" table_name "_error_table(void);" > outfile
- print "" > outfile
- print "void initialize_" table_name "_error_table(void) {" > outfile
- print " if (!link.table) {" > outfile
- print " link.next = _et_list;" > outfile
- print " link.table = &et;" > outfile
- print " _et_list = &link;" > outfile
- print " }" > outfile
- print "}" > outfile
-
-
-}