projects
/
selector.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
72ea0e7
)
Added conversion of control characters to standard strings with
author
Francois Fleuret
<francois@fleuret.org>
Tue, 17 Mar 2009 20:03:25 +0000
(21:03 +0100)
committer
Francois Fleuret
<francois@fleuret.org>
Tue, 17 Mar 2009 20:03:25 +0000
(21:03 +0100)
unctrl().
selector.cc
patch
|
blob
|
history
diff --git
a/selector.cc
b/selector.cc
index
568da6e
..
31bf262
100644
(file)
--- a/
selector.cc
+++ b/
selector.cc
@@
-394,7
+394,7
@@
int main(int argc, char **argv) {
exit(1);
}
exit(1);
}
- char buffer[buffer_size];
+ char buffer[buffer_size]
, raw_line[buffer_size];
;
int color_fg_modeline, color_bg_modeline;
int color_fg_highlight, color_bg_highlight;
int color_fg_modeline, color_bg_modeline;
int color_fg_highlight, color_bg_highlight;
@@
-543,9
+543,23
@@
int main(int argc, char **argv) {
}
while(nb_lines < nb_lines_max && !file.eof()) {
}
while(nb_lines < nb_lines_max && !file.eof()) {
- file.getline(buffer, buffer_size);
- if(strcmp(buffer, "") != 0) {
- char *s = buffer;
+
+ file.getline(raw_line, buffer_size);
+
+ if(strcmp(raw_line, "") != 0) {
+
+ char *s, *t;
+ const char *u;
+
+ s = buffer;
+ t = raw_line;
+ while(*t) {
+ u = unctrl(*t++);
+ while(*u) { *s++ = *u++; }
+ }
+ *s = '\0';
+
+ s = buffer;
if(zsh_history && *s == ':') {
while(*s && *s != ';') s++;
if(zsh_history && *s == ':') {
while(*s && *s != ';') s++;