[BACK]Return to chared.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / lib / libedit

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/lib/libedit/chared.c between version 1.26 and 1.27

version 1.26, 2009/02/06 12:45:25 version 1.27, 2009/02/15 21:55:23
Line 60  cv_undo(EditLine *el)
Line 60  cv_undo(EditLine *el)
 {  {
         c_undo_t *vu = &el->el_chared.c_undo;          c_undo_t *vu = &el->el_chared.c_undo;
         c_redo_t *r = &el->el_chared.c_redo;          c_redo_t *r = &el->el_chared.c_redo;
         unsigned int size;          size_t size;
   
         /* Save entire line for undo */          /* Save entire line for undo */
         size = el->el_line.lastchar - el->el_line.buffer;          size = el->el_line.lastchar - el->el_line.buffer;
         vu->len = size;          vu->len = size;
         vu->cursor = el->el_line.cursor - el->el_line.buffer;          vu->cursor = (int)(el->el_line.cursor - el->el_line.buffer);
         memcpy(vu->buf, el->el_line.buffer, size);          memcpy(vu->buf, el->el_line.buffer, size);
   
         /* save command info for redo */          /* save command info for redo */
Line 84  cv_yank(EditLine *el, const char *ptr, i
Line 84  cv_yank(EditLine *el, const char *ptr, i
 {  {
         c_kill_t *k = &el->el_chared.c_kill;          c_kill_t *k = &el->el_chared.c_kill;
   
         memcpy(k->buf, ptr, size +0u);          memcpy(k->buf, ptr, (size_t)size);
         k->last = k->buf + size;          k->last = k->buf + size;
 }  }
   
Line 98  c_insert(EditLine *el, int num)
Line 98  c_insert(EditLine *el, int num)
         char *cp;          char *cp;
   
         if (el->el_line.lastchar + num >= el->el_line.limit) {          if (el->el_line.lastchar + num >= el->el_line.limit) {
                 if (!ch_enlargebufs(el, num +0u))                  if (!ch_enlargebufs(el, (size_t)num))
                         return;         /* can't go past end of buffer */                          return;         /* can't go past end of buffer */
         }          }
   
Line 119  c_delafter(EditLine *el, int num)
Line 119  c_delafter(EditLine *el, int num)
 {  {
   
         if (el->el_line.cursor + num > el->el_line.lastchar)          if (el->el_line.cursor + num > el->el_line.lastchar)
                 num = el->el_line.lastchar - el->el_line.cursor;                  num = (int)(el->el_line.lastchar - el->el_line.cursor);
   
         if (el->el_map.current != el->el_map.emacs) {          if (el->el_map.current != el->el_map.emacs) {
                 cv_undo(el);                  cv_undo(el);
Line 160  c_delbefore(EditLine *el, int num)
Line 160  c_delbefore(EditLine *el, int num)
 {  {
   
         if (el->el_line.cursor - num < el->el_line.buffer)          if (el->el_line.cursor - num < el->el_line.buffer)
                 num = el->el_line.cursor - el->el_line.buffer;                  num = (int)(el->el_line.cursor - el->el_line.buffer);
   
         if (el->el_map.current != el->el_map.emacs) {          if (el->el_map.current != el->el_map.emacs) {
                 cv_undo(el);                  cv_undo(el);
Line 376  cv_delfini(EditLine *el)
Line 376  cv_delfini(EditLine *el)
                 /* sanity */                  /* sanity */
                 return;                  return;
   
         size = el->el_line.cursor - el->el_chared.c_vcmd.pos;          size = (int)(el->el_line.cursor - el->el_chared.c_vcmd.pos);
         if (size == 0)          if (size == 0)
                 size = 1;                  size = 1;
         el->el_line.cursor = el->el_chared.c_vcmd.pos;          el->el_line.cursor = el->el_chared.c_vcmd.pos;
Line 530  ch_reset(EditLine *el, int mclear)
Line 530  ch_reset(EditLine *el, int mclear)
 }  }
   
 private void  private void
 ch__clearmacro(el)  ch__clearmacro(EditLine *el)
         EditLine *el;  
 {  {
         c_macro_t *ma = &el->el_chared.c_macro;          c_macro_t *ma = &el->el_chared.c_macro;
         while (ma->level >= 0)          while (ma->level >= 0)
Line 543  ch__clearmacro(el)
Line 542  ch__clearmacro(el)
  *      Returns 1 if successful, 0 if not.   *      Returns 1 if successful, 0 if not.
  */   */
 protected int  protected int
 ch_enlargebufs(el, addlen)  ch_enlargebufs(EditLine *el, size_t addlen)
         EditLine *el;  
         size_t addlen;  
 {  {
         size_t sz, newsz;          size_t sz, newsz;
         char *newbuffer, *oldbuf, *oldkbuf;          char *newbuffer, *oldbuf, *oldkbuf;
Line 696  protected int
Line 693  protected int
 c_gets(EditLine *el, char *buf, const char *prompt)  c_gets(EditLine *el, char *buf, const char *prompt)
 {  {
         char ch;          char ch;
         int len;          ssize_t len;
         char *cp = el->el_line.buffer;          char *cp = el->el_line.buffer;
   
         if (prompt) {          if (prompt) {
                 len = strlen(prompt);                  len = strlen(prompt);
                 memcpy(cp, prompt, len + 0u);                  memcpy(cp, prompt, (size_t)len);
                 cp += len;                  cp += len;
         }          }
         len = 0;          len = 0;
Line 722  c_gets(EditLine *el, char *buf, const ch
Line 719  c_gets(EditLine *el, char *buf, const ch
   
                 case 0010:      /* Delete and backspace */                  case 0010:      /* Delete and backspace */
                 case 0177:                  case 0177:
                         if (len <= 0) {                          if (len == 0) {
                                 len = -1;                                  len = -1;
                                 break;                                  break;
                         }                          }
Line 750  c_gets(EditLine *el, char *buf, const ch
Line 747  c_gets(EditLine *el, char *buf, const ch
         el->el_line.buffer[0] = '\0';          el->el_line.buffer[0] = '\0';
         el->el_line.lastchar = el->el_line.buffer;          el->el_line.lastchar = el->el_line.buffer;
         el->el_line.cursor = el->el_line.buffer;          el->el_line.cursor = el->el_line.buffer;
         return len;          return (int)len;
 }  }
   
   
Line 772  c_hpos(EditLine *el)
Line 769  c_hpos(EditLine *el)
                      ptr >= el->el_line.buffer && *ptr != '\n';                       ptr >= el->el_line.buffer && *ptr != '\n';
                      ptr--)                       ptr--)
                         continue;                          continue;
                 return (el->el_line.cursor - ptr - 1);                  return (int)(el->el_line.cursor - ptr - 1);
         }          }
 }  }

Legend:
Removed from v.1.26  
changed lines
  Added in v.1.27

CVSweb <webmaster@jp.NetBSD.org>