… | |
… | |
88 | if (status) |
88 | if (status) |
89 | *status = 0; |
89 | *status = 0; |
90 | return *ptr0 + (*ptr1 << 8) + (*ptr2 << 16) + (*ptr3 << 24); |
90 | return *ptr0 + (*ptr1 << 8) + (*ptr2 << 16) + (*ptr3 << 24); |
91 | } |
91 | } |
92 | |
92 | |
|
|
93 | psiconv_s32 psiconv_read_sint(const psiconv_buffer buf,int lev,psiconv_u32 off, |
|
|
94 | int *length,int *status) |
|
|
95 | { |
|
|
96 | int localstatus; |
|
|
97 | psiconv_u32 temp; |
|
|
98 | |
|
|
99 | temp=psiconv_read_u32(buf,lev,off,&localstatus); |
|
|
100 | if (status) |
|
|
101 | *status = localstatus; |
|
|
102 | if (length) |
|
|
103 | *length = localstatus?0:4; |
|
|
104 | |
|
|
105 | return localstatus?0:(temp & 0x7fffffff)*(temp&0x80000000?-1:1); |
|
|
106 | } |
|
|
107 | |
93 | psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev, psiconv_u32 off, |
108 | psiconv_S_t psiconv_read_S(const psiconv_buffer buf, int lev, psiconv_u32 off, |
94 | int *length,int *status) |
109 | int *length,int *status) |
95 | { |
110 | { |
96 | psiconv_u8 temp; |
111 | psiconv_u8 temp; |
97 | psiconv_S_t res; |
112 | psiconv_S_t res; |