~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/ptr_cmp.c

  • Committer: Brian Aker
  • Date: 2008-09-04 19:31:00 UTC
  • Revision ID: brian@tangent.org-20080904193100-l849hgghfy4urj43
Changing default character set from this point on.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
#include "mysys_priv.h"
23
23
#include <storage/myisam/myisampack.h>
24
24
 
25
 
static int ptr_compare(size_t *compare_length, unsigned char **a, unsigned char **b);
26
 
static int ptr_compare_0(size_t *compare_length, unsigned char **a, unsigned char **b);
27
 
static int ptr_compare_1(size_t *compare_length, unsigned char **a, unsigned char **b);
28
 
static int ptr_compare_2(size_t *compare_length, unsigned char **a, unsigned char **b);
29
 
static int ptr_compare_3(size_t *compare_length, unsigned char **a, unsigned char **b);
 
25
static int ptr_compare(size_t *compare_length, uchar **a, uchar **b);
 
26
static int ptr_compare_0(size_t *compare_length, uchar **a, uchar **b);
 
27
static int ptr_compare_1(size_t *compare_length, uchar **a, uchar **b);
 
28
static int ptr_compare_2(size_t *compare_length, uchar **a, uchar **b);
 
29
static int ptr_compare_3(size_t *compare_length, uchar **a, uchar **b);
30
30
 
31
31
        /* Get a pointer to a optimal byte-compare function for a given size */
32
32
 
51
51
 
52
52
#define cmp(N) if (first[N] != last[N]) return (int) first[N] - (int) last[N]
53
53
 
54
 
static int ptr_compare(size_t *compare_length, unsigned char **a, unsigned char **b)
 
54
static int ptr_compare(size_t *compare_length, uchar **a, uchar **b)
55
55
{
56
56
  register int length= *compare_length;
57
 
  register unsigned char *first,*last;
 
57
  register uchar *first,*last;
58
58
 
59
59
  first= *a; last= *b;
60
60
  while (--length)
66
66
}
67
67
 
68
68
 
69
 
static int ptr_compare_0(size_t *compare_length,unsigned char **a, unsigned char **b)
 
69
static int ptr_compare_0(size_t *compare_length,uchar **a, uchar **b)
70
70
{
71
71
  register int length= *compare_length;
72
 
  register unsigned char *first,*last;
 
72
  register uchar *first,*last;
73
73
 
74
74
  first= *a; last= *b;
75
75
 loop:
87
87
}
88
88
 
89
89
 
90
 
static int ptr_compare_1(size_t *compare_length,unsigned char **a, unsigned char **b)
 
90
static int ptr_compare_1(size_t *compare_length,uchar **a, uchar **b)
91
91
{
92
92
  register int length= *compare_length-1;
93
 
  register unsigned char *first,*last;
 
93
  register uchar *first,*last;
94
94
 
95
95
  first= *a+1; last= *b+1;
96
96
  cmp(-1);
108
108
  return (0);
109
109
}
110
110
 
111
 
static int ptr_compare_2(size_t *compare_length,unsigned char **a, unsigned char **b)
 
111
static int ptr_compare_2(size_t *compare_length,uchar **a, uchar **b)
112
112
{
113
113
  register int length= *compare_length-2;
114
 
  register unsigned char *first,*last;
 
114
  register uchar *first,*last;
115
115
 
116
116
  first= *a +2 ; last= *b +2;
117
117
  cmp(-2);
130
130
  return (0);
131
131
}
132
132
 
133
 
static int ptr_compare_3(size_t *compare_length,unsigned char **a, unsigned char **b)
 
133
static int ptr_compare_3(size_t *compare_length,uchar **a, uchar **b)
134
134
{
135
135
  register int length= *compare_length-3;
136
 
  register unsigned char *first,*last;
 
136
  register uchar *first,*last;
137
137
 
138
138
  first= *a +3 ; last= *b +3;
139
139
  cmp(-3);
153
153
  return (0);
154
154
}
155
155
 
156
 
void my_store_ptr(unsigned char *buff, size_t pack_length, my_off_t pos)
 
156
void my_store_ptr(uchar *buff, size_t pack_length, my_off_t pos)
157
157
{
158
158
  switch (pack_length) {
159
159
#if SIZEOF_OFF_T > 4
165
165
  case 4: mi_int4store(buff,pos); break;
166
166
  case 3: mi_int3store(buff,pos); break;
167
167
  case 2: mi_int2store(buff,pos); break;
168
 
  case 1: buff[0]= (unsigned char) pos; break;
 
168
  case 1: buff[0]= (uchar) pos; break;
169
169
  default: assert(0);
170
170
  }
171
171
  return;
172
172
}
173
173
 
174
 
my_off_t my_get_ptr(unsigned char *ptr, size_t pack_length)
 
174
my_off_t my_get_ptr(uchar *ptr, size_t pack_length)
175
175
{
176
176
  my_off_t pos;
177
177
  switch (pack_length) {
184
184
  case 4: pos= (my_off_t) mi_uint4korr(ptr); break;
185
185
  case 3: pos= (my_off_t) mi_uint3korr(ptr); break;
186
186
  case 2: pos= (my_off_t) mi_uint2korr(ptr); break;
187
 
  case 1: pos= (my_off_t) *(unsigned char*) ptr; break;
 
187
  case 1: pos= (my_off_t) *(uchar*) ptr; break;
188
188
  default: assert(0); return 0;
189
189
  }
190
190
 return pos;