test
[m6w6/ext-pq] / php_pq_type.awk
index c9ed34bbd74f5d0bd74d7231355499389fb941fc..15ffd1b975198924334508e074ea31fac7638142 100755 (executable)
@@ -9,17 +9,24 @@ BEGIN {
 END {
        printf "#ifndef PHP_PQ_TYPE_IS_ARRAY\n"
        printf "# define PHP_PQ_TYPE_IS_ARRAY(oid) (\\\n\t\t0 \\\n"
-       for (name in arrays) {
-               printf "\t||\t((oid) == %d) \\\n", arrays[name]
+       for (oid in arrays) {
+               printf "\t||\t((oid) == %d) \\\n", oid
        }
        printf ")\n#endif\n"
+       printf "#ifndef PHP_PQ_TYPE_OF_ARRAY\n"
+       printf "# define PHP_PQ_TYPE_OF_ARRAY(oid) ("
+       for (oid in arrays) {
+               printf "\\\n\t(oid) == %d ? %s : ", oid, arrays[oid]
+       }
+       printf "0 \\\n)\n#endif\n"
 }
 
 /^DATA/ {
        oid = $4
        name = toupper($6)
+       atypoid = $17
        if (sub("^_", "", name)) {
-               arrays[name] = oid
+               arrays[oid] = atypoid
                name = name "ARRAY"
        }
        printf "#ifndef PHP_PQ_OID_%s\n", name