qemacs-commit
[Top][All Lists]
Advanced

[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 {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]