forked from pixel/hexedit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChanges
242 lines (194 loc) · 9.73 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
may 2019
- Fix bug error (core dumped) when file size is 0 (in my fork).
- Updated Makefile.in to Generating Prerequisites Automatically, so every change in hexedit.h or config.h will rebuild all sources that include it.
Commented code to check if file .d exists in .d/ directory. If not exists delete the object file (.o) to rebuild the object file and at the same
time regenerate the prerequisite file (.d).
Added the way at http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ to solve three issues if you choose the solution from
4.3 Types of Prerequisites and updated to allow to rebuild source if not exist file .d.
Is neccessary execute
./autogen.sh && ./configure && make
to generate a new Makefile.
september 2017
- 1.4.2
- fix spelling errors in manpage
- fix build
septembre 2017
- 1.4
- terminal resizing support
- fix build
february 2017
- version 1.4.1
- Fixed bug when copy 0x1000 bytes at end, leave cursor beyond end of file and exit with CTRL+X. Returns this error:
display.c:156 Error calling ncurses refresh.
Error calling ncurses delwin.
the long seek failed (-1 instead of 1073770596), leaving :(
The bug was because readFile uses pointer buffer deleted before in function quit().
june/july/august 2016-feb 2017:
- version 1.4.0
- Now use 64 bits pointers.
- Fix bug that returns "Segmentation fault (core dumped)" when use fill for selection size bigger than 0x7FFFFFFE.
- Fix copy & paste with an modified byte and an unmodified byte and a modified byte, pasting unmodified byte as 00.
- Added two digits in address (now 10 digits) to allow adress until a Terabyte.
- Added -v or --version in parameters.
- Now internal blocks are of size _SC_PAGESIZE x 1024 * 10.
- Changed internal pointers to 64 bits in x86_64 system.
- Added selected at bottom line.
- Fix issue when selected region reachs beyond the end of file and user go up with cursor.
- Fix white square when input file name has non ascii chars (utf8) and in bottom line with file name.
- Fix clean garbage chars of file name on rigth of ascii text after press F3 when file name surpass ascii text.
- Tested with files of size 10Tb.
- Leave position to 8 chars and delete to end.
- Cursor goes mad when position is bigger than 8 digits.
- Fix: ASCII column left garbage going from end of file to beginning for a 16Gb file.
- Fix: Edit ASCII cursor moved.
- Fix: If select last line at end of file selects next blank line.na la siguiente línea vacía.
- Fix: Delete chars at end rigth if last line is empty.
- Fix: I think is a ncurse bug. If filename has utf8 chars F3 it doesn't show these chars. In that case doesn't shows the file name and pressing RETURN
loads the file.
- Fix: If with F3 the file name is very long shows errors. I solved limiting to 75 chars filename. If bigger doesn't shows filename and RETURN loads it.
- Cannot see utf8 chars in ASCII column. Is not a bug because utf8 chars are more than 1 char.
novembre 2016:
- mark cursor position in both HEX and ASCII
- skip whitespace when parsing hex-strings
march 2014:
- fix small but in DIE() which was leaving the terminal in a bad state
- added --linelength <n> / -l<n> command line option
february 2013:
- fix displaying sector number when above 2^31
- fix potential file descriptor leak (thanks to Rich Burridge)
- add DESTDIR support to the makefiles
- preprocessor flags should use CPPFLAGS, not CFLAGS
- fix a small issue in mymemmem/mymemrmem when HAVE_MEMMEM/HAVE_MEMRMEM is not defined
september 2005:
- version 1.2.12
- colored (fruit salad) display built by default (if use_default_colors available),
available through option --color (based on a patch from Yuri D'Elia)
september 2005:
- version 1.2.11
- add --enable-colors to build and have a colored (fruit salad) display
- allow entering goto "position" and "sector" in hexadecimal or not
- when prompting, propose previously entered value, and give ability to modify it
- fix setting mark after scrolling
- some cleanup
may 2004:
- version 1.2.10
- handle getnstr() not defined (needed for SGI IRIX 6.5.22)
april 2004:
- version 1.2.9 (brown paper bag version)
- fix searching larger than 3 characters long strings
january 2004:
- version 1.2.8
- replace the unsafe getstr() with getnstr() (thanks to Richard Chadderton)
august 2003:
- version 1.2.7
- check the presence of <sys/mount.h> before including it
- fix build on Digital UNIX 4.0f (remove -Wall)
- use the full width of the terminal (the trick is to stop relying on
printing "\n", but using move() instead)
- fix displaying the offsets at beginning of each line on big endian
boxes (thanks to Martin Schaffner)
june 2003:
- version 1.2.6
- fix core dump when searching backward (thanks to Jean Delvare)
(the culprit is memrmem, but also fixing provided memrchr)
june 2003:
- version 1.2.5
- fix build on Solaris (which doesn't have BLKGETSIZE and all compilers don't have -W)
march 2003:
- version 1.2.4
- use BLKGETSIZE to try to get the size of a device
- do not die horribly when accessing after the end
- fix provided memrchr() (thanks to Yue Luo)
- fix displaying after searching >32bit files (thanks to Paul Mattal)
june 2002:
- version 1.2.3
- add some KEY_HOME KEY_END (^[[7~ and ^[[8~)
- fix for HAVE_MEMMEM
- fix my memrchr not behaving the same as libc's
- fix the use of memrchr to behave as libc's
- use "(void)" in prototype of functions having no parameters
- call "raw()" when help() is over
october 2001:
- version 1.2.2
- yet again some s/int/INT/ (mainly in the "edited" list manipulation)
june 2001:
- version 1.2.1
- replace llseek with lseek + use of _FILE_OFFSET_BITS=64
- memrchr&memmem now exists in some glibc's, so define it only if not provided
- cleanup basename declaration
- various cleanup in configure.in, now using autoheader
- a few bug fixes
april 99:
- version 1.1.1
- replaced lots of int by INT which 64bits
- replaced lseek by llseek (!! portability=linux :( !!)
11 january 99: (:-<>, it's been a long time)
- added many shortcuts so that F1..F12 and some others works on more
terms (xterm, rxvt, sgi's winterm...)
- removed the scanw that's badly handled on sgi (replaced by getstr +
sscanf)
24 septembre 98: now displays the reached offset while searching
10 september 98: hexedit 1.0.0 release
08 september 98: Oliver Kiddle's <[email protected]> changes:
- changed code where a function that returns a void was returning the
result of another function. This avoids errors in stricter compilers
- used an if where ?: was being used to the left of an assignment
- created Makefile.in and configure.in to replace Makefile
- added alternative strdup, strerror and memcmp for lacking systems
26 august 98: hexedit 0.9.5 release
26 august 98: removed the total file size in modeline for devices
19 august 98: Evin Robertson's changes:
- split hexedit.c into display.c, file.c, hexedit.c, hexedit.h,
interact.c, mark.c, misc.c, page.c, search.c
- Makefile changes - now defaults to installing in /usr/local/bin
- scrolls one line at a time (but not in sector mode)
- allow appending to the file
- errors during writing are now non-fatal
- show total file size in modeline (not really correct for devices)
- gives better error messages when functions return -1
- added newlines to the end of fatal error messages
- changed sizeof(bufferAttr) to sizeof(*bufferAttr)
- grammatical corrections to the man page
- removed dashes so the display is 16 bytes wide on an 80 column
screen
- backspace now moves back an entire byte in hex mode (I thought the
previous behavior was inconsistent; it moved the cursor one
nybble, but undid an entire byte)
- refuse to open directories
- disallow using return to go past the end of the file
- added truncating ability (M-T)
07 august 98: ability to fill the selection with a string
06 august 98: forgot to mark all the things while doing them. Here is a list of
what's been added:
- make the display start at the current cursor position
- go to a sector when in --sector mode
- added a modeline
- ability to open another file. Nice for copy&paste between files
- you're no more forced to save the file per page. This means the
cut&paste can now always be undone. It's much simplier that way (idea
from Evin C Robertson, thanks)
- the backspace acts as a small undo of the previous character. It's
nice when typing (another idea from Evin C Robertson)
- the modified-unmodified bytes are not shown in bold (eg: you replace
'a' by 'a')
26 july 98: added a TODO file
26 july 98: added save copied region in a file
26 july 98: added search backward
25 july 98: added copy&paste functions
25 july 98: you can now select a part of the buffer
21 july 98: modified bytes are shown in bold.
21 july 98: corrected a bug, when you call function goto_char and the file is
modified, you're now asked if you want to save (before that the changes
were lost). You're only asked if the goto_char gets you to a different
page of the file.
21 july 98: replace the searchInBuffer function by memmem. Then replaced memmem
by mymemmem to counter the libc bug. All this permits a good speedup
when searching.
21 july 98: removed the bug in the goto_char function. Now giving an empty
string leaves the cursor unmoved. A small bug remains if you give an
invalid hexadecimal string starting legally. The scanw(3ncurses)
function returns a number corresponding at the legal beginning substring
(eg: 1z2 becomes 1).
21 july 98: added an install entry in the Makefile (the one Robert Woodcock
<[email protected]> made for the debian package, thanks Robert Woodcock).
21 july 98: creation of the Changes file