X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fobject.c;h=d3e9b9aa4f45c316f2c0cdbed8e630f3d9786014;hb=2a64fd8ad0419220eccfcde539ed1791138ef942;hp=0a0686540ab36aa3a6cdebfeae6c088e83cf3bf7;hpb=89556b90f1afb9b7ebe247c05721e0a04a7232c0;p=libucw.git diff --git a/lib/object.c b/lib/object.c index 0a068654..d3e9b9aa 100644 --- a/lib/object.c +++ b/lib/object.c @@ -2,6 +2,9 @@ * Sherlock Library -- Object Functions * * (c) 1997--2001 Martin Mares + * + * This software may be freely distributed and used according to the terms + * of the GNU Lesser General Public License. */ #include "lib/lib.h" @@ -60,7 +63,7 @@ obj_free(struct odes *o) int obj_read(struct fastbuf *f, struct odes *o) { - byte buf[1024]; + byte buf[4096]; struct oattr **last = &o->attrs; struct oattr *a, *la; @@ -100,7 +103,7 @@ obj_write(struct fastbuf *f, struct odes *d) { bputc(f, a->attr); for(z = b->val; *z; z++) - if (*z >= ' ') + if (*z >= ' ' || *z == '\t') bputc(f, *z); else { @@ -235,6 +238,8 @@ obj_prepend_attr(struct odes *o, uns x, byte *v) if (a->attr == x) { b->same = a; + b->next = a->next; + a->next = NULL; *z = b; b->last_same = a->last_same; return b;