@@ -14,15 +14,19 @@ static enum BufError AMFWriteInt32(struct BitBuf* buf, uint32_t value)
1414
1515static enum BufError AMFWriteString16 (struct BitBuf * buf , const char * string , size_t length )
1616{
17- enum BufError err = put_u16_be (buf , (uint16_t )length );
18- if (err != BUF_OK ) return err ;
17+ enum BufError err ;
18+ err = put_u16_be (buf , (uint16_t )length );
19+ chk_err ;
20+
1921 return put (buf , string , length );
2022}
2123
2224static enum BufError AMFWriteString32 (struct BitBuf * buf , const char * string , size_t length )
2325{
24- enum BufError err = put_u32_be (buf , (uint32_t )length );
25- if (err != BUF_OK ) return err ;
26+ enum BufError err ;
27+ err = put_u32_be (buf , (uint32_t )length );
28+ chk_err ;
29+
2630 return put (buf , string , length );
2731}
2832
@@ -43,10 +47,13 @@ enum BufError AMFWriteObject(struct BitBuf* buf)
4347
4448enum BufError AMFWriteObjectEnd (struct BitBuf * buf )
4549{
46- enum BufError err = put_u8 (buf , 0 );
47- if (err != BUF_OK ) return err ;
50+ enum BufError err ;
51+ err = put_u8 (buf , 0 );
52+ chk_err ;
53+
4854 err = put_u8 (buf , 0 );
49- if (err != BUF_OK ) return err ;
55+ chk_err ;
56+
5057 return put_u8 (buf , AMF_OBJECT_END );
5158}
5259
@@ -57,24 +64,29 @@ enum BufError AMFWriteTypedObject(struct BitBuf* buf)
5764
5865enum BufError AMFWriteECMAArray (struct BitBuf * buf )
5966{
60- enum BufError err = put_u8 (buf , AMF_ECMA_ARRAY );
61- if (err != BUF_OK ) return err ;
67+ enum BufError err ;
68+ err = put_u8 (buf , AMF_ECMA_ARRAY );
69+ chk_err ;
70+
6271 return put_u32_be (buf , 0 ); // U32 associative-count
6372}
6473
6574enum BufError AMFWriteBoolean (struct BitBuf * buf , uint8_t value )
6675{
6776 enum BufError err ;
6877 err = put_u8 (buf , AMF_BOOLEAN );
69- if (err != BUF_OK ) return err ;
78+ chk_err ;
79+
7080 return put_u8 (buf , value ? 1 : 0 );
7181}
7282
7383enum BufError AMFWriteDouble (struct BitBuf * buf , double value )
7484{
85+ enum BufError err ;
7586 uint8_t bytes [8 ];
76- enum BufError err = put_u8 (buf , AMF_NUMBER );
77- if (err != BUF_OK ) return err ;
87+
88+ err = put_u8 (buf , AMF_NUMBER );
89+ chk_err ;
7890
7991 // Little-Endian
8092 if (0x00 == * (char * )& s_double ) {
@@ -94,11 +106,13 @@ enum BufError AMFWriteString(struct BitBuf* buf, const char* string, size_t leng
94106
95107 if (length < 65536 ) {
96108 err = put_u8 (buf , AMF_STRING );
97- if (err != BUF_OK ) return err ;
109+ chk_err ;
110+
98111 err = AMFWriteString16 (buf , string , length );
99112 } else {
100113 err = put_u8 (buf , AMF_LONG_STRING );
101- if (err != BUF_OK ) return err ;
114+ chk_err ;
115+
102116 err = AMFWriteString32 (buf , string , length );
103117 }
104118
@@ -107,9 +121,11 @@ enum BufError AMFWriteString(struct BitBuf* buf, const char* string, size_t leng
107121
108122enum BufError AMFWriteDate (struct BitBuf * buf , double milliseconds , int16_t timezone )
109123{
124+ enum BufError err ;
110125 uint8_t bytes [8 ];
111- enum BufError err = put_u8 (buf , AMF_DATE );
112- if (err != BUF_OK ) return err ;
126+
127+ err = put_u8 (buf , AMF_DATE );
128+ chk_err ;
113129
114130 // Little-Endian
115131 if (0x00 == * (char * )& s_double ) {
@@ -121,7 +137,8 @@ enum BufError AMFWriteDate(struct BitBuf *buf, double milliseconds, int16_t time
121137 }
122138
123139 err = put (buf , (const char * )bytes , 8 );
124- if (err != BUF_OK ) return err ;
140+ chk_err ;
141+
125142 return put_u16_be (buf , (uint16_t )timezone );
126143}
127144
@@ -132,22 +149,28 @@ enum BufError AMFWriteNamed(struct BitBuf *buf, const char* name, size_t length)
132149
133150enum BufError AMFWriteNamedBoolean (struct BitBuf * buf , const char * name , size_t length , uint8_t value )
134151{
135- enum BufError err = AMFWriteString16 (buf , name , length );
136- if (err != BUF_OK ) return err ;
152+ enum BufError err ;
153+ err = AMFWriteString16 (buf , name , length );
154+ chk_err ;
155+
137156 return AMFWriteBoolean (buf , value );
138157}
139158
140159enum BufError AMFWriteNamedDouble (struct BitBuf * buf , const char * name , size_t length , double value )
141160{
142- enum BufError err = AMFWriteString16 (buf , name , length );
143- if (err != BUF_OK ) return err ;
161+ enum BufError err ;
162+ err = AMFWriteString16 (buf , name , length );
163+ chk_err ;
164+
144165 return AMFWriteDouble (buf , value );
145166}
146167
147168enum BufError AMFWriteNamedString (struct BitBuf * buf , const char * name , size_t length , const char * value , size_t length2 )
148169{
149- enum BufError err = AMFWriteString16 (buf , name , length );
150- if (err != BUF_OK ) return err ;
170+ enum BufError err ;
171+ err = AMFWriteString16 (buf , name , length );
172+ chk_err ;
173+
151174 return AMFWriteString (buf , value , length2 );
152175}
153176
@@ -232,13 +255,12 @@ enum BufError AMFReadString(struct BitBuf *buf, int isLongString, char* string,
232255{
233256 uint32_t len = 0 ;
234257 enum BufError err ;
258+
235259 if (isLongString )
236260 err = AMFReadInt32 (buf , & len );
237261 else
238262 err = AMFReadInt16 (buf , & len );
239-
240- if (err != BUF_OK || buf -> offset + len > buf -> size )
241- return BUF_ENDOFBUF_ERROR ;
263+ chk_err ;
242264
243265 if (string && length > len )
244266 {
@@ -256,12 +278,10 @@ enum BufError AMFReadDate(struct BitBuf *buf, double *milliseconds, int16_t *tim
256278 uint32_t v = 0 ;
257279
258280 err = AMFReadDouble (buf , milliseconds );
259- if (err != BUF_OK )
260- return err ;
281+ chk_err ;
261282
262283 err = AMFReadInt16 (buf , & v );
263- if (err != BUF_OK )
264- return err ;
284+ chk_err ;
265285
266286 if (timezone )
267287 * timezone = (int16_t )v ;
@@ -346,9 +366,11 @@ enum BufError AMF3ReadDouble(struct BitBuf *buf, double* value)
346366
347367enum BufError AMF3ReadString (struct BitBuf * buf , char * string , uint32_t * length )
348368{
369+ enum BufError err ;
349370 int32_t v = 0 ;
350- enum BufError err = AMF3ReadInteger (buf , (int32_t * )& v );
351- if (err != BUF_OK ) return err ;
371+
372+ err = AMF3ReadInteger (buf , (int32_t * )& v );
373+ chk_err ;
352374
353375 if (v & 0x01 ) {
354376 // reference
@@ -378,7 +400,6 @@ static enum BufError amf_read_strict_array(struct BitBuf* buf, struct amf_object
378400
379401static enum BufError amf_read_item (struct BitBuf * buf , enum AMFDataType type , struct amf_object_item_t * item )
380402{
381- enum BufError err = BUF_OK ;
382403 switch (type )
383404 {
384405 case AMF_BOOLEAN :
@@ -424,19 +445,19 @@ static inline int amf_read_item_type_check(uint8_t type0, uint8_t itemtype)
424445
425446static enum BufError amf_read_strict_array (struct BitBuf * buf , struct amf_object_item_t * items , size_t n )
426447{
427- uint32_t count , i ;
428448 enum BufError err ;
449+ uint32_t count , i ;
429450
430451 err = AMFReadInt32 (buf , & count ); // U32 array-count
431- if ( err != BUF_OK ) return err ;
452+ chk_err ;
432453
433454 for (i = 0 ; i < count && buf && buf -> offset < buf -> size ; i ++ ) {
434455 if (buf -> offset >= buf -> size )
435456 return BUF_ENDOFBUF_ERROR ;
436457
437458 uint8_t type = buf -> buf [buf -> offset ++ ];
438459 err = amf_read_item (buf , type , (i < n && amf_read_item_type_check (type , items [i ].type )) ? & items [i ] : NULL );
439- if ( err != BUF_OK ) return err ;
460+ chk_err ;
440461 }
441462
442463 return BUF_OK ;
@@ -453,14 +474,15 @@ static enum BufError amf_read_ecma_array(struct BitBuf* buf, struct amf_object_i
453474
454475static enum BufError amf_read_object (struct BitBuf * buf , struct amf_object_item_t * items , size_t n )
455476{
477+ enum BufError err ;
456478 uint32_t len ;
457479 size_t i ;
458- enum BufError err ;
459480
460481 while (buf && buf -> offset + 2 <= buf -> size )
461482 {
462483 err = AMFReadInt16 (buf , & len );
463- if (err != BUF_OK ) return err ;
484+ chk_err ;
485+
464486 if (len == 0 ) break ; // last item
465487
466488 if (buf -> offset + len + 1 > buf -> size )
@@ -476,7 +498,7 @@ static enum BufError amf_read_object(struct BitBuf* buf, struct amf_object_item_
476498 buf -> offset += len ; // skip name string
477499 uint8_t type = buf -> buf [buf -> offset ++ ]; // value type
478500 err = amf_read_item (buf , type , i < n ? & items [i ] : NULL );
479- if ( err != BUF_OK ) return err ;
501+ chk_err ;
480502 }
481503
482504 if (buf && buf -> offset < buf -> size && AMF_OBJECT_END == buf -> buf [buf -> offset ])
@@ -490,8 +512,8 @@ static enum BufError amf_read_object(struct BitBuf* buf, struct amf_object_item_
490512
491513enum BufError amf_read_items (struct BitBuf * buf , struct amf_object_item_t * items , size_t count )
492514{
493- size_t i ;
494515 enum BufError err ;
516+ size_t i ;
495517
496518 for (i = 0 ; i < count && buf && buf -> offset < buf -> size ; i ++ ) {
497519 if (buf -> offset >= buf -> size )
@@ -502,7 +524,7 @@ enum BufError amf_read_items(struct BitBuf* buf, struct amf_object_item_t* items
502524 return BUF_INCORRECT ;
503525
504526 err = amf_read_item (buf , type , & items [i ]);
505- if ( err != BUF_OK ) return err ;
527+ chk_err ;
506528 }
507529
508530 return BUF_OK ;
0 commit comments