~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to libdrizzle/my_time.c

  • Committer: Brian Aker
  • Date: 2008-08-10 16:57:26 UTC
  • Revision ID: brian@tangent.org-20080810165726-mc1660l11a5vkv69
libdrizzle has ulong removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
static char time_separator=':';
38
38
 
39
 
static ulong const days_at_timestart=719528;    /* daynr at 1970.01.01 */
 
39
static uint32_t const days_at_timestart=719528; /* daynr at 1970.01.01 */
40
40
uchar days_in_month[]= {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 0};
41
41
 
42
42
/*
76
76
*/
77
77
 
78
78
bool check_date(const DRIZZLE_TIME *ltime, bool not_zero_date,
79
 
                   ulong flags, int *was_cut)
 
79
                   uint32_t flags, int *was_cut)
80
80
{
81
81
  if (not_zero_date)
82
82
  {
163
163
  uint field_length, year_length=4, digits, i, number_of_fields;
164
164
  uint date[MAX_DATE_PARTS], date_len[MAX_DATE_PARTS];
165
165
  uint add_hours= 0, start_loop;
166
 
  ulong not_zero_date, allow_space;
 
166
  uint32_t not_zero_date, allow_space;
167
167
  bool is_internal_format;
168
168
  const char *pos, *last_field_pos=NULL;
169
169
  const char *end=str+length;
257
257
       i++)
258
258
  {
259
259
    const char *start= str;
260
 
    ulong tmp_value= (uint) (uchar) (*str++ - '0');
 
260
    uint32_t tmp_value= (uint) (uchar) (*str++ - '0');
261
261
    while (str != end && my_isdigit(&my_charset_latin1,str[0]) &&
262
262
           (!is_internal_format || --field_length))
263
263
    {
264
 
      tmp_value=tmp_value*10 + (ulong) (uchar) (*str - '0');
 
264
      tmp_value=tmp_value*10 + (uint32_t) (uchar) (*str - '0');
265
265
      str++;
266
266
    }
267
267
    date_len[i]= (uint) (str - start);
471
471
bool str_to_time(const char *str, uint length, DRIZZLE_TIME *l_time,
472
472
                    int *warning)
473
473
{
474
 
  ulong date[5];
 
474
  uint32_t date[5];
475
475
  uint64_t value;
476
476
  const char *end=str+length, *end_of_days;
477
477
  bool found_days,found_hours;
518
518
  if ((uint) (end-str) > 1 && str != end_of_days &&
519
519
      my_isdigit(&my_charset_latin1, *str))
520
520
  {                                             /* Found days part */
521
 
    date[0]= (ulong) value;
 
521
    date[0]= (uint32_t) value;
522
522
    state= 1;                                   /* Assume next is hours */
523
523
    found_days= 1;
524
524
  }
526
526
           my_isdigit(&my_charset_latin1, str[1]))
527
527
  {
528
528
    date[0]= 0;                                 /* Assume we found hours */
529
 
    date[1]= (ulong) value;
 
529
    date[1]= (uint32_t) value;
530
530
    state=2;
531
531
    found_hours=1;
532
532
    str++;                                      /* skip ':' */
535
535
  {
536
536
    /* String given as one number; assume HHMMSS format */
537
537
    date[0]= 0;
538
 
    date[1]= (ulong) (value/10000);
539
 
    date[2]= (ulong) (value/100 % 100);
540
 
    date[3]= (ulong) (value % 100);
 
538
    date[1]= (uint32_t) (value/10000);
 
539
    date[2]= (uint32_t) (value/100 % 100);
 
540
    date[3]= (uint32_t) (value % 100);
541
541
    state=4;
542
542
    goto fractional;
543
543
  }
547
547
  {
548
548
    for (value=0; str != end && my_isdigit(&my_charset_latin1,*str) ; str++)
549
549
      value=value*10L + (long) (*str - '0');
550
 
    date[state++]= (ulong) value;
 
550
    date[state++]= (uint32_t) value;
551
551
    if (state == 4 || (end-str) < 2 || *str != time_separator ||
552
552
        !my_isdigit(&my_charset_latin1,str[1]))
553
553
      break;
582
582
      value*= (long) log_10_int[field_length];
583
583
    else if (field_length < 0)
584
584
      *warning|= DRIZZLE_TIME_WARN_TRUNCATED;
585
 
    date[4]= (ulong) value;
 
585
    date[4]= (uint32_t) value;
586
586
  }
587
587
  else
588
588
    date[4]=0;