...
|
...
|
@@ -936,6 +936,10 @@ redata_op_add(redata_t *redata, long insertpos, char *buf, long buflen, undostac
|
936
|
936
|
|| insertpos>redata_getused(redata)
|
937
|
937
|
|| (fromhere!=NULL && (fromhere!=&(redata->undostack) && fromhere!=&(redata->redostack))))
|
938
|
938
|
return(-1); /* sanity check failed */
|
|
939
|
+ if(insertpos==0 && redata->sizechunks==0) {
|
|
940
|
+ /* add the first chunk */
|
|
941
|
+ redata_preallocate(redata,buflen);
|
|
942
|
+ }
|
939
|
943
|
if(redata_getposptr(redata,insertpos,&chunkno,&offset)==-1)
|
940
|
944
|
return(-1); /* invalid pos */
|
941
|
945
|
if(fromhere!=&(redata->undostack)) {
|