~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle-1.0/libdrizzle/drizzle.c

  • Committer: Mark Atwood
  • Date: 2011-08-11 03:05:03 UTC
  • mfrom: (2385.1.12 refactor4)
  • Revision ID: me@mark.atwood.name-20110811030503-rp9xjihc5x3y0x4q
mergeĀ lp:~olafvdspek/drizzle/refactor4

Show diffs side-by-side

added added

removed removed

Lines of Context:
172
172
  else if (drizzle->options & DRIZZLE_ASSERT_DANGLING)
173
173
  {
174
174
    assert(drizzle->con_list == NULL);
175
 
    assert(drizzle->con_list == NULL);
 
175
    assert(drizzle->query_list == NULL);
176
176
  }
177
177
 
178
 
  if (drizzle->pfds != NULL)
179
 
    free(drizzle->pfds);
 
178
  free(drizzle->pfds);
180
179
 
181
180
  if (drizzle->options & DRIZZLE_ALLOCATED)
182
181
    free(drizzle);
632
631
      con= drizzle_con_create(drizzle, con);
633
632
      if (con == NULL)
634
633
      {
635
 
        (void)close(fd);
 
634
        (void)closesocket(fd);
636
635
        *ret_ptr= DRIZZLE_RETURN_MEMORY;
637
636
        return NULL;
638
637
      }
640
639
      *ret_ptr= drizzle_con_set_fd(con, fd);
641
640
      if (*ret_ptr != DRIZZLE_RETURN_OK)
642
641
      {
643
 
        (void)close(fd);
 
642
        (void)closesocket(fd);
644
643
        return NULL;
645
644
      }
646
645
 
677
676
                       const char *format, ...)
678
677
{
679
678
  size_t size;
 
679
  int written;
680
680
  char *ptr;
681
681
  char log_buffer[DRIZZLE_MAX_ERROR_SIZE];
682
682
  va_list args;
689
689
  ptr++;
690
690
 
691
691
  va_start(args, format);
692
 
  size+= (size_t)vsnprintf(ptr, DRIZZLE_MAX_ERROR_SIZE - size, format, args);
 
692
  written= vsnprintf(ptr, DRIZZLE_MAX_ERROR_SIZE - size, format, args);
693
693
  va_end(args);
694
694
 
 
695
  if (written < 0) size= DRIZZLE_MAX_ERROR_SIZE;
 
696
  else size+= written;
 
697
  if (size >= DRIZZLE_MAX_ERROR_SIZE)
 
698
    size= DRIZZLE_MAX_ERROR_SIZE - 1;
 
699
  log_buffer[size]= 0;
 
700
 
695
701
  if (drizzle->log_fn == NULL)
696
 
  {
697
 
    if (size >= DRIZZLE_MAX_ERROR_SIZE)
698
 
      size= DRIZZLE_MAX_ERROR_SIZE - 1;
699
 
 
700
702
    memcpy(drizzle->last_error, log_buffer, size + 1);
701
 
  }
702
703
  else
703
704
    drizzle->log_fn(log_buffer, DRIZZLE_VERBOSE_ERROR, drizzle->log_context);
704
705
}
717
718
  else
718
719
  {
719
720
    vsnprintf(log_buffer, DRIZZLE_MAX_ERROR_SIZE, format, args);
 
721
    log_buffer[DRIZZLE_MAX_ERROR_SIZE-1]= 0;
720
722
    drizzle->log_fn(log_buffer, verbose, drizzle->log_context);
721
723
  }
722
724
}