1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-12 04:25:08 -05:00
curl/packages/NetWare/get_exp.awk
2012-07-11 15:48:02 +02:00

49 lines
1.1 KiB
Awk
Executable File

# fetch exports from input header and write them to STDOUT
BEGIN {
add_symbol("curl_strequal")
add_symbol("curl_strnequal")
}
function add_symbol(sym_name) {
sub(" ", "", sym_name)
exports[++idx] = sym_name
}
/^CURL_EXTERN .* [*]?curl_.*[(]/ {
sub("[(].*", "")
sub("^.* ", "")
sub("^[*]", "")
add_symbol($0)
}
END {
printf("Added %d symbols to export list.\n", idx) > "/dev/stderr"
# sort symbols with shell sort
increment = int(idx / 2)
while (increment > 0) {
for (i = increment+1; i <= idx; i++) {
j = i
temp = exports[i]
while ((j >= increment+1) && (exports[j-increment] > temp)) {
exports[j] = exports[j-increment]
j -= increment
}
exports[j] = temp
}
if (increment == 2)
increment = 1
else
increment = int(increment*5/11)
}
# print the array
if (EXPPREFIX) {
printf(" (%s)\n", EXPPREFIX)
}
while (x < idx - 1) {
printf(" %s,\n", exports[++x])
}
printf(" %s\n", exports[++x])
}