Commit e012abb1 authored by unknown's avatar unknown
Browse files

Reapplying patch

Check for NULLs only if we don't replace column results,
  get real results after all checks.
  (see bug #14254: func_crypt.test fails on FreeBSD with --ps-protocol).

Remove two FIXME's


client/mysqltest.c:
  Reapplying patch, lost during merge
  Check for NULLs only if we don't replace column results,
    get real results after all checks.
    (see bug #14254: func_crypt.test fails on FreeBSD with --ps-protocol).
  
  Remove FIXME comments since it ssemd like the function handles vertical displays and 
  even wheter the string is terminated or not is not relevant since we only append 
  as much of it to output as "len" says
parent 0c46f1e7
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -3043,8 +3043,6 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT* stmt,
  my_bool *is_null;
  ulong *length;
  ulonglong num_rows;

  /* FIXME we don't handle vertical display ..... */
  uint col_idx, row_idx;
  
  /* Allocate array with bind structs, lengths and NULL flags */
@@ -3088,19 +3086,23 @@ static void append_stmt_result(DYNAMIC_STRING *ds, MYSQL_STMT* stmt,
    /* Read result from each column */
    for (col_idx= 0; col_idx < num_fields; col_idx++)
    {
      /* FIXME is string terminated? */
      const char *val= (const char *)bind[col_idx].buffer;
      ulonglong len= *bind[col_idx].length;
      const char *val;
      ulonglong len;
      if (col_idx < max_replace_column && replace_column[col_idx])
      {
	val= replace_column[col_idx];
	len= strlen(val);
      }
      if (*bind[col_idx].is_null)
      else if (*bind[col_idx].is_null)
      {
	val= "NULL";
	len= 4;
      }
      else
      {
	val= (const char *) bind[col_idx].buffer;
	len= *bind[col_idx].length;
      }
      if (!display_result_vertically)
      {
	if (col_idx)                      /* No tab before first col */