| 1865 | } |
| 1866 | |
| 1867 | void |
| 1868 | getlin(const char *query, char *bufp) |
| 1869 | { |
| 1870 | boolean old_bot_disabled = gb.bot_disabled; |
| 1871 | char *obufp = bufp; |
| 1872 | boolean got_cmdq = FALSE; |
| 1873 | struct _cmd_queue *cmdq = NULL; |
| 1874 | |
| 1875 | while ((cmdq = cmdq_pop()) != 0) { |
| 1876 | if (cmdq->typ == CMDQ_KEY) { |
| 1877 | got_cmdq = TRUE; |
| 1878 | *bufp = (cmdq->key != '\n') ? cmdq->key : '\0'; |
| 1879 | bufp++; |
| 1880 | if (cmdq->key == '\n') |
| 1881 | break; |
| 1882 | } else { |
| 1883 | break; |
| 1884 | } |
| 1885 | free(cmdq); |
| 1886 | cmdq = NULL; |
| 1887 | } |
| 1888 | if (cmdq) |
| 1889 | free(cmdq); |
| 1890 | |
| 1891 | if (got_cmdq) { |
| 1892 | *bufp = '\0'; |
| 1893 | pline("%s %s", query, obufp); |
| 1894 | return; |
| 1895 | } |
| 1896 | |
| 1897 | program_state.in_getlin = 1; |
| 1898 | gb.bot_disabled = TRUE; |
| 1899 | (*windowprocs.win_getlin)(query, bufp); |
| 1900 | gb.bot_disabled = old_bot_disabled; |
| 1901 | program_state.in_getlin = 0; |
| 1902 | } |
| 1903 | /*windows.c*/ |
no test coverage detected