[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemacs-commit] qemacs hex.c
From: |
Charlie Gordon |
Subject: |
[Qemacs-commit] qemacs hex.c |
Date: |
Fri, 31 Jan 2014 14:50:57 +0000 |
CVSROOT: /sources/qemacs
Module name: qemacs
Changes by: Charlie Gordon <chqrlie> 14/01/31 14:50:56
Modified files:
. : hex.c
Log message:
simplify hex_write_char
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemacs/hex.c?cvsroot=qemacs&r1=1.35&r2=1.36
Patches:
Index: hex.c
===================================================================
RCS file: /sources/qemacs/qemacs/hex.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- hex.c 16 Jan 2014 14:00:28 -0000 1.35
+++ hex.c 31 Jan 2014 14:50:56 -0000 1.36
@@ -245,6 +245,7 @@
{
unsigned int cur_ch, ch;
int hsize, shift, cur_len, len, h;
+ int offset = s->offset;
char buf[10];
if (s->hex_mode) {
@@ -255,7 +256,7 @@
h = to_hex(key);
if (h < 0)
return;
- if ((s->insert || s->offset >= s->b->total_size) && s->hex_nibble ==
0) {
+ if ((s->insert || offset >= s->b->total_size) && s->hex_nibble == 0) {
ch = h << ((hsize - 1) * 4);
if (s->unihex_mode || s->b->charset->char_size > 1) {
len = unicode_to_charset(buf, ch, s->b->charset);
@@ -263,13 +264,13 @@
len = 1;
buf[0] = ch;
}
- eb_insert(s->b, s->offset, buf, len);
+ eb_insert(s->b, offset, buf, len);
} else {
if (s->unihex_mode) {
- cur_ch = eb_nextc(s->b, s->offset, &cur_len);
- cur_len -= s->offset;
+ cur_ch = eb_nextc(s->b, offset, &cur_len);
+ cur_len -= offset;
} else {
- eb_read(s->b, s->offset, buf, 1);
+ eb_read(s->b, offset, buf, 1);
cur_ch = buf[0];
cur_len = 1;
}
@@ -284,19 +285,20 @@
buf[0] = ch;
}
#if 1
- eb_replace(s->b, s->offset, cur_len, buf, len);
+ eb_replace(s->b, offset, cur_len, buf, len);
#else
if (cur_len == len) {
- eb_write(s->b, s->offset, buf, len);
+ eb_write(s->b, offset, buf, len);
} else {
- eb_delete(s->b, s->offset, cur_len);
- eb_insert(s->b, s->offset, buf, len);
+ eb_delete(s->b, offset, cur_len);
+ eb_insert(s->b, offset, buf, len);
}
#endif
}
+ s->offset = offset;
if (++s->hex_nibble == hsize) {
s->hex_nibble = 0;
- if (s->offset < s->b->total_size)
+ if (offset < s->b->total_size)
s->offset += len;
}
} else {