diff options
Diffstat (limited to 'misc/mc/files/patch-src-view.c')
-rw-r--r-- | misc/mc/files/patch-src-view.c | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/misc/mc/files/patch-src-view.c b/misc/mc/files/patch-src-view.c deleted file mode 100644 index 1556a9862f98..000000000000 --- a/misc/mc/files/patch-src-view.c +++ /dev/null @@ -1,116 +0,0 @@ ---- src/view.c.orig Fri Dec 27 12:48:33 2002 -+++ src/view.c Tue Jun 15 03:15:09 2004 -@@ -74,6 +74,10 @@ - # define IFAIX(x) - #endif - -+#if GLIB_MAJOR_VERSION < 2 -+# define g_try_malloc g_malloc -+#endif -+ - #define vwidth (view->widget.cols - (view->have_frame ? 2 : 0)) - #define vheight (view->widget.lines - (view->have_frame ? 2 : 0)) - -@@ -308,7 +312,7 @@ - view->block_ptr = g_realloc (view->block_ptr, - sizeof (block_ptr_t) * page); - for (i = view->blocks; i < page; i++) { -- char *p = g_malloc (VIEW_PAGE_SIZE); -+ char *p = g_try_malloc (VIEW_PAGE_SIZE); - view->block_ptr[i].data = p; - if (!p) - return '\n'; -@@ -336,7 +340,7 @@ - } - view->blocks = page; - } -- if (byte_index > view->bytes_read) { -+ if (byte_index >= view->bytes_read) { - return -1; - } else - return view->block_ptr[page - 1].data[offset]; -@@ -573,9 +577,11 @@ - return init_growing_view (view, 0, view->filename); - } - #ifdef HAVE_MMAP -- view->data = -- mc_mmap (0, view->s.st_size, PROT_READ, MAP_FILE | MAP_SHARED, -- view->file, 0); -+ if ((size_t) view->s.st_size == view->s.st_size) -+ view->data = mc_mmap (0, view->s.st_size, PROT_READ, -+ MAP_FILE | MAP_SHARED, view->file, 0); -+ else -+ view->data = (caddr_t) -1; - if ((caddr_t) view->data != (caddr_t) - 1) { - /* mmap worked */ - view->first = 0; -@@ -589,7 +595,11 @@ - * file into memory (alex@bcs.zaporizhzhe.ua). Also, mmap can fail - * for any reason, so we use this as fallback (pavel@ucw.cz) */ - -- view->data = (unsigned char *) g_malloc (view->s.st_size); -+ if ((gulong) view->s.st_size == view->s.st_size) -+ view->data = (unsigned char *) g_try_malloc (view->s.st_size); -+ else -+ view->data = NULL; -+ - if (view->data == NULL - || mc_lseek (view->file, 0, SEEK_SET) != 0 - || mc_read (view->file, view->data, -@@ -821,7 +831,7 @@ - if (w > 46) { - widget_move (view, view->have_frame, 24 + view->have_frame); - if (view->hex_mode) -- printw (_("Offset 0x%08x"), view->edit_cursor); -+ printw (_("Offset 0x%08lx"), view->edit_cursor); - else - printw (_("Col %d"), -view->start_col); - } -@@ -1513,33 +1523,41 @@ - long i = 0; - int prev = 0; - -+ if (!pos && direction == -1) -+ return 0; -+ - /* skip over all the possible zeros in the file */ - while ((ch = get_byte (view, pos)) == 0) { -+ if (!pos && direction == -1) -+ return 0; - pos += direction; - i++; - } - *skipped = i; - -- if (pos) { -- prev = get_byte (view, pos - 1); -+ if (!i && (pos || direction == -1)) { -+ prev = get_byte (view, pos - direction); - if ((prev == -1) || (prev == '\n')) - prev = 0; - } - -- for (i = 0; ch != -1; ch = get_byte (view, pos)) { -+ for (i = 1; ch != -1; ch = get_byte (view, pos)) { - -- if (i == usable_size) { -+ if (i >= usable_size) { - buffer = grow_string_buffer (buffer, &buffer_size); - usable_size = buffer_size - 2; - } - -+ buffer[i++] = ch; -+ if (!pos && direction == -1) -+ break; -+ - pos += direction; -- i++; - - if (ch == '\n' || !ch) { -+ i--; - break; - } -- buffer[i] = ch; - } - if (buffer) { - buffer[0] = prev; |