Initial Windows agent repository
This commit is contained in:
commit
a0db0c2e5b
10589 changed files with 3844063 additions and 0 deletions
48
OGP64/usr/share/awk/ord.awk
Normal file
48
OGP64/usr/share/awk/ord.awk
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
# ord.awk --- do ord and chr
|
||||
#
|
||||
# This file and how to use it are described in the manual.
|
||||
# Therefore, we respectfully advise you to Read The Fine Manual
|
||||
# for more information.
|
||||
#
|
||||
# Arnold Robbins, arnold@skeeve.com, Public Domain
|
||||
# 16 January, 1992
|
||||
# 20 July, 1992, revised
|
||||
|
||||
# Global identifiers:
|
||||
# _ord_: numerical values indexed by characters
|
||||
# _ord_init: function to initialize _ord_
|
||||
|
||||
BEGIN { _ord_init() }
|
||||
|
||||
function _ord_init( low, high, i, t)
|
||||
{
|
||||
low = sprintf("%c", 7) # BEL is ascii 7
|
||||
if (low == "\a") { # regular ascii
|
||||
low = 0
|
||||
high = 127
|
||||
} else if (sprintf("%c", 128 + 7) == "\a") {
|
||||
# ascii, mark parity
|
||||
low = 128
|
||||
high = 255
|
||||
} else { # ebcdic(!)
|
||||
low = 0
|
||||
high = 255
|
||||
}
|
||||
|
||||
for (i = low; i <= high; i++) {
|
||||
t = sprintf("%c", i)
|
||||
_ord_[t] = i
|
||||
}
|
||||
}
|
||||
function ord(str, c)
|
||||
{
|
||||
# only first character is of interest
|
||||
c = substr(str, 1, 1)
|
||||
return _ord_[c]
|
||||
}
|
||||
|
||||
function chr(c)
|
||||
{
|
||||
# force c to be numeric by adding 0
|
||||
return sprintf("%c", c + 0)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue