aboutsummaryrefslogtreecommitdiffhomepage
path: root/screen.cpp
diff options
context:
space:
mode:
authorGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-08-01 16:32:52 -0700
committerGravatar ridiculousfish <corydoras@ridiculousfish.com>2012-08-04 11:34:45 -0700
commit8185bee4b83ce94f098cd07a360a0d78ad781c78 (patch)
tree9d93c0c617de4c25e4acd49ff8383ce2a8d84e0c /screen.cpp
parent2e1b3325c63cd6c43a10a08acfc54d1fb29a5c03 (diff)
Lots of work towards making fish build without warnings on Mountain Lion, mostly in terms of using size_t instead of int
Diffstat (limited to 'screen.cpp')
-rw-r--r--screen.cpp36
1 files changed, 18 insertions, 18 deletions
diff --git a/screen.cpp b/screen.cpp
index 7087f14e..8ec4278c 100644
--- a/screen.cpp
+++ b/screen.cpp
@@ -113,7 +113,7 @@ static int try_sequence( const char *seq, const wchar_t *str )
Returns the number of columns left until the next tab stop, given
the current cursor postion.
*/
-static int next_tab_stop( int in )
+static size_t next_tab_stop( size_t in )
{
/*
Assume tab stops every 8 characters if undefined
@@ -151,9 +151,9 @@ static int is_term256_escape(const wchar_t *str) {
to detect common escape sequences that may be embeded in a prompt,
such as color codes.
*/
-static int calc_prompt_width( const wchar_t *prompt )
+static size_t calc_prompt_width( const wchar_t *prompt )
{
- int res = 0;
+ size_t res = 0;
size_t j, k;
for( j=0; prompt[j]; j++ )
@@ -416,7 +416,7 @@ static void s_desired_append_char( screen_t *s,
wchar_t b,
int c,
int indent,
- int prompt_width )
+ size_t prompt_width )
{
int line_no = s->desired.cursor[1];
@@ -653,7 +653,7 @@ static size_t line_shared_prefix(const line_t &a, const line_t &b)
*/
static void s_update( screen_t *scr, const wchar_t *prompt )
{
- int prompt_width = calc_prompt_width( prompt );
+ size_t prompt_width = calc_prompt_width( prompt );
int screen_width = common_get_width();
int need_clear = scr->need_clear;
data_buffer_t output;
@@ -673,25 +673,25 @@ static void s_update( screen_t *scr, const wchar_t *prompt )
s_move( scr, &output, 0, 0 );
s_write_str( &output, prompt );
scr->actual_prompt = prompt;
- scr->actual.cursor[0] = prompt_width;
+ scr->actual.cursor[0] = (int)prompt_width;
}
for (size_t i=0; i < scr->desired.line_count(); i++)
{
const line_t &o_line = scr->desired.line(i);
line_t &s_line = scr->actual.create_line(i);
- int start_pos = (i==0 ? prompt_width : 0);
+ size_t start_pos = (i==0 ? prompt_width : 0);
int current_width = 0;
if( need_clear )
{
- s_move( scr, &output, start_pos, (int)i );
+ s_move( scr, &output, (int)start_pos, (int)i );
s_write_mbs( &output, clr_eol);
s_line.clear();
}
/* Note that skip_remaining is a width, not a character count */
- int skip_remaining = start_pos;
+ size_t skip_remaining = start_pos;
/* Compute how much we should skip. At a minimum we skip over the prompt. But also skip over the shared prefix of what we want to output now, and what we output before, to avoid repeatedly outputting it. */
size_t shared_prefix = line_shared_prefix(o_line, s_line);
@@ -771,18 +771,18 @@ static int is_dumb()
void s_write( screen_t *s,
const wchar_t *prompt,
const wchar_t *commandline,
- int explicit_len,
+ size_t explicit_len,
const int *c,
const int *indent,
int cursor )
{
- int i;
int cursor_arr[2];
- int prompt_width;
- int screen_width;
+ size_t prompt_width;
+ size_t screen_width;
- int max_line_width = 0, current_line_width = 0, newline_count = 0, explicit_portion_width = 0;
+ int current_line_width = 0, newline_count = 0, explicit_portion_width = 0;
+ size_t max_line_width = 0;
CHECK( s, );
CHECK( prompt, );
@@ -838,8 +838,8 @@ void s_write( screen_t *s,
/*
Check if we are overflowing
*/
- int last_char_that_fits = 0;
- for( i=0; commandline[i]; i++ )
+ size_t last_char_that_fits = 0;
+ for( size_t i=0; commandline[i]; i++ )
{
if( commandline[i] == L'\n' )
{
@@ -874,7 +874,7 @@ void s_write( screen_t *s,
truncated_autosuggestion_line.push_back(ellipsis_char);
commandline = truncated_autosuggestion_line.c_str();
}
- for( i=0; i<prompt_width; i++ )
+ for( size_t i=0; i<prompt_width; i++ )
{
s_desired_append_char( s, L' ', 0, 0, prompt_width );
}
@@ -889,6 +889,7 @@ void s_write( screen_t *s,
prompt_width=0;
}
+ int i;
for( i=0; commandline[i]; i++ )
{
int col = c[i];
@@ -917,7 +918,6 @@ void s_write( screen_t *s,
cursor_arr[0] = s->desired.cursor[0] - fish_wcwidth(commandline[i]);
cursor_arr[1] = s->desired.cursor[1];
}
-
}
if( i == cursor )
{