-#include "lib/lib.h"
-#include "lib/mempool.h"
-#include "lib/simple-lists.h"
-#include "lib/stkstring.h"
-#include "lib/fastbuf.h"
+#include "ucw/lib.h"
+#include "ucw/mempool.h"
+#include "ucw/simple-lists.h"
+#include "ucw/stkstring.h"
+#include "ucw/fastbuf.h"
struct obj_read_state st;
obj_read_start(&st, c->request);
st.error_callback = read_error_cb;
struct obj_read_state st;
obj_read_start(&st, c->request);
st.error_callback = read_error_cb;
if (m = obj_find_aval(c->reply, '-'))
msg(L_DEBUG, ">> -%s", m);
else if (m = obj_find_aval(c->reply, '+'))
if (m = obj_find_aval(c->reply, '-'))
msg(L_DEBUG, ">> -%s", m);
else if (m = obj_find_aval(c->reply, '+'))
// This is less efficient than bbcopy(), but we want our own error handling.
struct fastbuf *fb = bopen_tmp(4096);
// This is less efficient than bbcopy(), but we want our own error handling.
struct fastbuf *fb = bopen_tmp(4096);
if (!ext || !ext_exists_p(task, ext))
{
err(c, "Missing or invalid extension");
if (!ext || !ext_exists_p(task, ext))
{
err(c, "Missing or invalid extension");
for (struct oattr *a = obj_find_attr(parto, 'V' + OBJ_ATTR_SON); a; a=a->same)
{
uns ver = obj_find_anum(a->son, 'V', 0);
for (struct oattr *a = obj_find_attr(parto, 'V' + OBJ_ATTR_SON); a; a=a->same)
{
uns ver = obj_find_anum(a->son, 'V', 0);