| 1896 | // |
| 1897 | |
| 1898 | static void cmp_udf( gpre_nod* node, gpre_req* request) |
| 1899 | { |
| 1900 | const udf* an_udf = (udf*) node->nod_arg[1]; |
| 1901 | request->add_byte(blr_function); |
| 1902 | const TEXT* p = an_udf->udf_function; |
| 1903 | request->add_byte(static_cast<int>(strlen(p))); |
| 1904 | |
| 1905 | while (*p) |
| 1906 | request->add_byte(*p++); |
| 1907 | |
| 1908 | gpre_nod* list = node->nod_arg[0]; |
| 1909 | if (list) |
| 1910 | { |
| 1911 | request->add_byte(list->nod_count); |
| 1912 | |
| 1913 | gpre_nod** ptr = list->nod_arg; |
| 1914 | for (gpre_nod** const end = ptr + list->nod_count; ptr < end; ++ptr) |
| 1915 | { |
| 1916 | CME_expr(*ptr, request); |
| 1917 | } |
| 1918 | } |
| 1919 | else |
| 1920 | request->add_byte(0); |
| 1921 | |
| 1922 | // return node; |
| 1923 | } |
| 1924 | |
| 1925 | |
| 1926 | //____________________________________________________________ |