svn-gvsig-desktop / tmp / trunk / servidor / Importacion / dbase / endian.c @ 26474
History | View | Annotate | Download (722 Bytes)
1 |
/* Maarten Boekhold (maarten.boekhold@reuters.com) oktober 1995 */
|
---|---|
2 |
|
3 |
#include <sys/types.h> |
4 |
#include "dbf.h" |
5 |
/*
|
6 |
* routine to change little endian long to host long
|
7 |
*/
|
8 |
long
|
9 |
get_long(u_char *cp) |
10 |
{ |
11 |
long ret;
|
12 |
|
13 |
ret = *cp++; |
14 |
ret += ((*cp++) << 8);
|
15 |
ret += ((*cp++) << 16);
|
16 |
ret += ((*cp++) << 24);
|
17 |
|
18 |
return ret;
|
19 |
} |
20 |
|
21 |
void
|
22 |
put_long(u_char *cp, long lval)
|
23 |
{ |
24 |
cp[0] = lval & 0xff; |
25 |
cp[1] = (lval >> 8) & 0xff; |
26 |
cp[2] = (lval >> 16) & 0xff; |
27 |
cp[3] = (lval >> 24) & 0xff; |
28 |
} |
29 |
|
30 |
/*
|
31 |
* routine to change little endian short to host short
|
32 |
*/
|
33 |
short
|
34 |
get_short(u_char *cp) |
35 |
{ |
36 |
short ret;
|
37 |
|
38 |
ret = *cp++; |
39 |
ret += ((*cp++) << 8);
|
40 |
|
41 |
return ret;
|
42 |
} |
43 |
|
44 |
void
|
45 |
put_short(u_char *cp, short sval)
|
46 |
{ |
47 |
cp[0] = sval & 0xff; |
48 |
cp[1] = (sval >> 8) & 0xff; |
49 |
} |