| #!/bin/sh |
| |
| convert() { |
| sed -n '/^\(static \)\?const struct xlat '"$n"'\[\] = {$/,/^};$/{ |
| s/^[[:space:]]*XLAT(\([^)]\+\)).*/\1/p |
| s/^[[:space:]]*{[[:space:]]*(\?\(1<<[^),[:space:]]\+\).*/\1/p |
| s/.*not NULL-terminated.*/#unterminated/p |
| s/^\([[:space:]]*{.*\)/\1/p |
| s/^\t*\( *[/*].*\)/\1/p}' "$f" >> xlat/"$n".in |
| sed -i '/^\(static \)\?const struct xlat '"$n"'\[\] = {$/,/^};$/c #include "xlat/'"$n"'.h"' "$f" |
| } |
| |
| for f; do |
| for n in $(sed -n 's/^\(static \)\?const struct xlat \([a-z0-9_]\+\)\[\] = {$/\2/p' "$f"); do |
| case "$n" in |
| cacheflush_flags|struct_user_offsets) # skip |
| ;; |
| ioprio_class|ioprio_who|mtd_mode_options|personality_options|syslog_action_type|ubi_volume_props|ubi_volume_types) |
| echo '#unconditional' > xlat/"$n".in |
| convert |
| ;; |
| *) |
| > xlat/"$n".in |
| convert |
| ;; |
| esac |
| done |
| done |