@@ -127,32 +127,32 @@ PHP_MINFO_FUNCTION(sysvmsg)
127127/* {{{ Set information for a message queue */
128128PHP_FUNCTION (msg_set_queue )
129129{
130- zval * queue , * data ;
130+ zval * queue ;
131+ HashTable * data ;
131132 sysvmsg_queue_t * mq = NULL ;
132133 struct msqid_ds stat ;
133134
134- RETVAL_FALSE ;
135-
136- if (zend_parse_parameters (ZEND_NUM_ARGS (), "Oa" , & queue , sysvmsg_queue_ce , & data ) == FAILURE ) {
135+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "Oh" , & queue , sysvmsg_queue_ce , & data ) == FAILURE ) {
137136 RETURN_THROWS ();
138137 }
139138
140139 mq = Z_SYSVMSG_QUEUE_P (queue );
141140
141+ RETVAL_FALSE ;
142142 if (msgctl (mq -> id , IPC_STAT , & stat ) == 0 ) {
143143 zval * item ;
144144
145145 /* now pull out members of data and set them in the stat buffer */
146- if ((item = zend_hash_str_find (Z_ARRVAL_P ( data ), "msg_perm.uid" , sizeof ("msg_perm.uid" ) - 1 )) != NULL ) {
146+ if ((item = zend_hash_str_find (data , ZEND_STRL ("msg_perm.uid" ))) != NULL ) {
147147 stat .msg_perm .uid = zval_get_long (item );
148148 }
149- if ((item = zend_hash_str_find (Z_ARRVAL_P ( data ), "msg_perm.gid" , sizeof ("msg_perm.gid" ) - 1 )) != NULL ) {
149+ if ((item = zend_hash_str_find (data , ZEND_STRL ("msg_perm.gid" ))) != NULL ) {
150150 stat .msg_perm .gid = zval_get_long (item );
151151 }
152- if ((item = zend_hash_str_find (Z_ARRVAL_P ( data ), "msg_perm.mode" , sizeof ("msg_perm.mode" ) - 1 )) != NULL ) {
152+ if ((item = zend_hash_str_find (data , ZEND_STRL ("msg_perm.mode" ))) != NULL ) {
153153 stat .msg_perm .mode = zval_get_long (item );
154154 }
155- if ((item = zend_hash_str_find (Z_ARRVAL_P ( data ), "msg_qbytes" , sizeof ("msg_qbytes" ) - 1 )) != NULL ) {
155+ if ((item = zend_hash_str_find (data , ZEND_STRL ("msg_qbytes" ))) != NULL ) {
156156 stat .msg_qbytes = zval_get_long (item );
157157 }
158158 if (msgctl (mq -> id , IPC_SET , & stat ) == 0 ) {
@@ -169,28 +169,27 @@ PHP_FUNCTION(msg_stat_queue)
169169 sysvmsg_queue_t * mq = NULL ;
170170 struct msqid_ds stat ;
171171
172- RETVAL_FALSE ;
173-
174172 if (zend_parse_parameters (ZEND_NUM_ARGS (), "O" , & queue , sysvmsg_queue_ce ) == FAILURE ) {
175173 RETURN_THROWS ();
176174 }
177175
178176 mq = Z_SYSVMSG_QUEUE_P (queue );
179177
180- if (msgctl (mq -> id , IPC_STAT , & stat ) == 0 ) {
181- array_init (return_value );
182-
183- add_assoc_long (return_value , "msg_perm.uid" , stat .msg_perm .uid );
184- add_assoc_long (return_value , "msg_perm.gid" , stat .msg_perm .gid );
185- add_assoc_long (return_value , "msg_perm.mode" , stat .msg_perm .mode );
186- add_assoc_long (return_value , "msg_stime" , stat .msg_stime );
187- add_assoc_long (return_value , "msg_rtime" , stat .msg_rtime );
188- add_assoc_long (return_value , "msg_ctime" , stat .msg_ctime );
189- add_assoc_long (return_value , "msg_qnum" , stat .msg_qnum );
190- add_assoc_long (return_value , "msg_qbytes" , stat .msg_qbytes );
191- add_assoc_long (return_value , "msg_lspid" , stat .msg_lspid );
192- add_assoc_long (return_value , "msg_lrpid" , stat .msg_lrpid );
178+ if (msgctl (mq -> id , IPC_STAT , & stat ) != 0 ) {
179+ RETURN_FALSE ;
193180 }
181+
182+ array_init_size (return_value , 10 );
183+ add_assoc_long (return_value , "msg_perm.uid" , stat .msg_perm .uid );
184+ add_assoc_long (return_value , "msg_perm.gid" , stat .msg_perm .gid );
185+ add_assoc_long (return_value , "msg_perm.mode" , stat .msg_perm .mode );
186+ add_assoc_long (return_value , "msg_stime" , stat .msg_stime );
187+ add_assoc_long (return_value , "msg_rtime" , stat .msg_rtime );
188+ add_assoc_long (return_value , "msg_ctime" , stat .msg_ctime );
189+ add_assoc_long (return_value , "msg_qnum" , stat .msg_qnum );
190+ add_assoc_long (return_value , "msg_qbytes" , stat .msg_qbytes );
191+ add_assoc_long (return_value , "msg_lspid" , stat .msg_lspid );
192+ add_assoc_long (return_value , "msg_lrpid" , stat .msg_lrpid );
194193}
195194/* }}} */
196195
@@ -203,11 +202,7 @@ PHP_FUNCTION(msg_queue_exists)
203202 RETURN_THROWS ();
204203 }
205204
206- if (msgget (key , 0 ) < 0 ) {
207- RETURN_FALSE ;
208- }
209-
210- RETURN_TRUE ;
205+ RETURN_BOOL (msgget (key , 0 ) >= 0 );
211206}
212207/* }}} */
213208
@@ -251,11 +246,7 @@ PHP_FUNCTION(msg_remove_queue)
251246
252247 mq = Z_SYSVMSG_QUEUE_P (queue );
253248
254- if (msgctl (mq -> id , IPC_RMID , NULL ) == 0 ) {
255- RETVAL_TRUE ;
256- } else {
257- RETVAL_FALSE ;
258- }
249+ RETURN_BOOL (msgctl (mq -> id , IPC_RMID , NULL ) == 0 );
259250}
260251/* }}} */
261252
@@ -270,8 +261,6 @@ PHP_FUNCTION(msg_receive)
270261 struct php_msgbuf * messagebuffer = NULL ; /* buffer to transmit */
271262 int result ;
272263
273- RETVAL_FALSE ;
274-
275264 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Olzlz|blz" ,
276265 & queue , sysvmsg_queue_ce , & desiredmsgtype , & out_msgtype , & maxsize ,
277266 & out_message , & do_unserialize , & flags , & zerrcode ) == FAILURE ) {
@@ -337,6 +326,7 @@ PHP_FUNCTION(msg_receive)
337326 if (zerrcode ) {
338327 ZEND_TRY_ASSIGN_REF_LONG (zerrcode , errno );
339328 }
329+ RETVAL_FALSE ;
340330 }
341331 efree (messagebuffer );
342332}
@@ -353,8 +343,6 @@ PHP_FUNCTION(msg_send)
353343 int result ;
354344 size_t message_len = 0 ;
355345
356- RETVAL_FALSE ;
357-
358346 if (zend_parse_parameters (ZEND_NUM_ARGS (), "Olz|bbz" ,
359347 & queue , sysvmsg_queue_ce , & msgtype , & message , & do_serialize , & blocking , & zerror ) == FAILURE ) {
360348 RETURN_THROWS ();
@@ -429,8 +417,9 @@ PHP_FUNCTION(msg_send)
429417 if (zerror ) {
430418 ZEND_TRY_ASSIGN_REF_LONG (zerror , errno );
431419 }
420+ RETURN_FALSE ;
432421 } else {
433- RETVAL_TRUE ;
422+ RETURN_TRUE ;
434423 }
435424}
436425/* }}} */
0 commit comments