Your IP : 216.73.216.86


Current Path : /home/emeraadmin/public_html/4d695/
Upload File :
Current File : /home/emeraadmin/public_html/4d695/et.zip

PKۓ�\χ�UUet_c.awknu�[���BEGIN { 
if ( length(outfn) == 0) {
	outfn = outfile
}
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
	mod_base = 1000000
	if (NF > 2) {
	    table_name = $3
	    base_name = $2
	} else {
	    table_name = $2
	    base_name = table_name
	}
	for(i=1; i<=length(base_name); i++) {
	    table_number=(table_number*char_shift)+c2n[substr(base_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 " * " outfn ":" > outfile
	print " * This file is automatically generated; please do not edit it." > outfile
	print " */" > outfile

	print "" > outfile
	print "#include <stdlib.h>" > outfile
	print "" > outfile
	print "#define N_(a) a" > outfile
	print "" > outfile
	print "static const char * const text[] = {" > outfile
	table_item_count = 0
}

(continuation == 1) && ($0 ~ /\\[ \t]*$/) {
	text=substr($0,1,length($0)-1);
#	printf "\t\t\"%s\"\n", text > outfile
	cont_buf=cont_buf text;
}

(continuation == 1) && ($0 ~ /"[ \t]*$/) {
#	printf "\t\t\"%s,\n", $0 > outfile
	printf "\tN_(%s),\n", cont_buf $0 > outfile
	continuation = 0;
}

/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[^ \t]/ {
	# Be tolerant to missing whitespace after `,' ...
	sub(/,/, ", ")
}

/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,[ \t]*$/ {
	table_item_count++
	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 "\tN_(%s),\n", text > outfile
	table_item_count++
}

/^[ \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)-2);
#	printf "\t%s\"\n", text > outfile
	cont_buf=text
	table_item_count++
	continuation++;
}

/^[ \t]*".*\\[ \t]*$/ {
	if (skipone) {
	    text=substr($0,1,length($0)-1);
#	    printf "\t%s\"\n", text > outfile
	    cont_buf=text
	    continuation++;
	}
	skipone=0
}

{ 
	if (skipone) {
	    printf "\tN_(%s),\n", $0 > outfile
	}
	skipone=0
}

/^[ \t]*(prefix)$/ {
	prefix_str = ""
}

/^[ \t]*(prefix)[ \t]+[A-Z_0-9]+/ {
	prefix_str = $2 "_"
}

/^[ \t]*(index)[ \t]+[A-Z_0-9]+/ {
	new_idx = $2
	for (i = table_item_count ; i < new_idx; i++) {
		printf "\tN_(\"Reserved %s error (%d)\"),\n", \
			table_name, table_item_count++ > outfile
	}
}

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 "const struct error_table et_" table_name "_error_table = { text, " \
		sprintf("%dL, %d };", tab_base_sign*tab_base_low, \
		table_item_count) > outfile
	} else {
		print "const struct error_table et_" table_name "_error_table = { 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_r(struct et_list **list);" > outfile
	print "void initialize_" table_name "_error_table(void);" > outfile
	print "" > outfile
	print "void initialize_" table_name "_error_table(void) {" > outfile
	print "    initialize_" table_name "_error_table_r(&_et_list);" > outfile
	print "}" > outfile
	print "" > outfile
	print "/* For Heimdal compatibility */" > outfile
	print "void initialize_" table_name "_error_table_r(struct et_list **list)" > outfile
	print "{" > outfile
	print "    struct et_list *et, **end;" > outfile
	print "" > outfile
	print "    for (end = list, et = *list; et; end = &et->next, et = et->next)" > outfile
	print "        if (et->table->msgs == text)" > outfile
	print "            return;" > outfile
	print "    et = malloc(sizeof(struct et_list));" > outfile
	print "    if (et == 0) {" > outfile
	print "        if (!link.table)" > outfile
	print "            et = &link;" > outfile
	print "        else" > outfile
	print "            return;" > outfile
	print "    }" > outfile
	print "    et->table = &et_" table_name "_error_table;" > outfile
	print "    et->next = 0;" > outfile
	print "    *end = et;" > outfile
	print "}" > outfile
}
PKۓ�\�@k��et_h.awknu�[���BEGIN { 
if ( length(outfn) == 0) {
	outfn = outfile
}
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
	mod_base = 1000000
	if (NF > 2) {
	    table_name = $3
	    base_name = $2
	} else {
	    table_name = $2
	    base_name = table_name
	}
	for(i=1; i<=length(base_name); i++) {
	    table_number=(table_number*char_shift)+c2n[substr(base_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--
		}
	}
	prefix_str = ""
	curr_idx = 0
	curr_low = tab_base_low
	curr_high = tab_base_high
	curr_sign = tab_base_sign
	print "/*" > outfile
	print " * " outfn ":" > outfile
	print " * This file is automatically generated; please do not edit it." > outfile
	print " */" > outfile
	print "" > outfile
	print "#include <et/com_err.h>" > outfile
	print "" > outfile
}

/^[ \t]*(error_code|ec)[ \t]+[A-Z_0-9]+,/ {
	# Be tolerant to missing whitespace after `,' ...
	sub(/,/, ", ")

	tag=prefix_str substr($2,1,length($2)-1)
	if (curr_high == 0) {
		printf "#define %-40s (%dL)\n", tag, \
			curr_sign*curr_low > outfile
	} else {
		printf "#define %-40s (%d%06dL)\n", tag, curr_high*curr_sign, \
			curr_low > outfile
	}
	curr_low += curr_sign;
	curr_idx++;
	if (curr_low >= mod_base) {
		curr_low -= mod_base;
		curr_high++
	}
	if (curr_low < 0) {
		cur_low += mod_base
		cur_high--
	}
}

/^[ \t]*(prefix)$/ {
	prefix_str = ""
}

/^[ \t]*(prefix)[ \t]+[A-Z_0-9]+/ {
	prefix_str = $2 "_"
}

/^[ \t]*(index)[ \t]+[A-Z_0-9]+/ {
	new_idx = $2
	curr_low += curr_sign * (new_idx - curr_idx)
	curr_idx = new_idx
	if (curr_low >= mod_base) {
		curr_low -= mod_base;
		curr_high++
	}
	if (curr_low < 0) {
		cur_low += mod_base
		cur_high--
	}
}


END {
	print "extern const struct error_table et_" table_name "_error_table;" > outfile
	print "extern void initialize_" table_name "_error_table(void);" > outfile
	print "" > outfile
	print "/* For compatibility with Heimdal */" > outfile
	print "extern void initialize_" table_name "_error_table_r(struct et_list **list);" > outfile
	print "" > outfile
	if (tab_base_high == 0) {
		print "#define ERROR_TABLE_BASE_" table_name " (" \
			sprintf("%d", tab_base_sign*tab_base_low) \
			"L)" > outfile
	} else {
		print "#define ERROR_TABLE_BASE_" table_name " (" \
			sprintf("%d%06d", tab_base_sign*tab_base_high, \
			tab_base_low) "L)" > outfile
	}
	print "" > outfile
	print "/* for compatibility with older versions... */" > outfile
	print "#define init_" table_name "_err_tbl initialize_" table_name "_error_table" > outfile
	print "#define " table_name "_err_base ERROR_TABLE_BASE_" table_name > outfile
}
PKN��\wBFF	com_err.hnu�[���/*
 * Header file for common error description library.
 *
 * Copyright 1988, Student Information Processing Board of the
 * Massachusetts Institute of Technology.
 *
 * For copyright and distribution info, see the documentation supplied
 * with this package.
 */

#if !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)

#ifdef __GNUC__
#define COM_ERR_ATTR(x) __attribute__(x)
#else
#define COM_ERR_ATTR(x)
#endif

#include <stddef.h>
#include <stdarg.h>

typedef long errcode_t;

struct error_table {
	char const * const * msgs;
	long base;
	int n_msgs;
};
struct et_list;

extern void com_err (const char *, long, const char *, ...)
	COM_ERR_ATTR((format(printf, 3, 4)));

extern void com_err_va (const char *whoami, errcode_t code, const char *fmt,
		 va_list args)
	COM_ERR_ATTR((format(printf, 3, 0)));

extern char const *error_message (long);
extern void (*com_err_hook) (const char *, long, const char *, va_list);
extern void (*set_com_err_hook (void (*) (const char *, long,
					  const char *, va_list)))
	(const char *, long, const char *, va_list);
extern void (*reset_com_err_hook (void)) (const char *, long,
					  const char *, va_list);
extern int init_error_table(const char * const *msgs, long base, int count);
extern char *(*set_com_err_gettext (char *(*) (const char *)))
	(const char *);

extern errcode_t add_error_table(const struct error_table * et);
extern errcode_t remove_error_table(const struct error_table * et);
extern void add_to_error_table(struct et_list *new_table);

/* Provided for Heimdall compatibility */
extern const char *com_right(struct et_list *list, long code);
extern const char *com_right_r(struct et_list *list, long code, char *str, size_t len);
extern void initialize_error_table_r(struct et_list **list,
				     const char **messages,
				     int num_errors,
				     long base);
extern void free_error_table(struct et_list *et);

/* Provided for compatibility with other com_err libraries */
extern int et_list_lock(void);
extern int et_list_unlock(void);

#define __COM_ERR_H
#define __COM_ERR_H__
#endif /* !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)*/
PKۓ�\χ�UUet_c.awknu�[���PKۓ�\�@k���et_h.awknu�[���PKN��\wBFF	�+com_err.hnu�[���PK��3