@@ -91,8 +91,8 @@ ZEND_GET_MODULE(sysvshm)
91
91
sysvshm_module php_sysvshm ;
92
92
93
93
static bool php_put_shm_data (sysvshm_chunk_head * ptr , zend_long key , const zend_string * data );
94
- static zend_long php_check_shm_data (sysvshm_chunk_head * ptr , zend_long key );
95
- static void php_remove_shm_data (sysvshm_chunk_head * ptr , zend_long shm_varpos );
94
+ static ssize_t php_check_shm_data (sysvshm_chunk_head * ptr , zend_long key );
95
+ static void php_remove_shm_data (sysvshm_chunk_head * ptr , size_t shm_varpos );
96
96
97
97
/* {{{ PHP_MINIT_FUNCTION */
98
98
PHP_MINIT_FUNCTION (sysvshm )
@@ -284,7 +284,6 @@ PHP_FUNCTION(shm_get_var)
284
284
zend_long shm_key ;
285
285
sysvshm_shm * shm_list_ptr ;
286
286
char * shm_data ;
287
- zend_long shm_varpos ;
288
287
sysvshm_chunk * shm_var ;
289
288
php_unserialize_data_t var_hash ;
290
289
@@ -300,9 +299,9 @@ PHP_FUNCTION(shm_get_var)
300
299
301
300
/* setup string-variable and serialize */
302
301
/* get serialized variable from shared memory */
303
- shm_varpos = php_check_shm_data (shm_list_ptr -> ptr , shm_key );
302
+ ssize_t shm_varpos = php_check_shm_data (shm_list_ptr -> ptr , shm_key );
304
303
305
- if (shm_varpos < 0 ) {
304
+ if (shm_varpos == -1 ) {
306
305
php_error_docref (NULL , E_WARNING , "Variable key " ZEND_LONG_FMT " doesn't exist" , shm_key );
307
306
RETURN_FALSE ;
308
307
}
@@ -343,7 +342,7 @@ PHP_FUNCTION(shm_has_var)
343
342
PHP_FUNCTION (shm_remove_var )
344
343
{
345
344
zval * shm_id ;
346
- zend_long shm_key , shm_varpos ;
345
+ zend_long shm_key ;
347
346
sysvshm_shm * shm_list_ptr ;
348
347
349
348
if (SUCCESS != zend_parse_parameters (ZEND_NUM_ARGS (), "Ol" , & shm_id , sysvshm_ce , & shm_key )) {
@@ -356,9 +355,9 @@ PHP_FUNCTION(shm_remove_var)
356
355
RETURN_THROWS ();
357
356
}
358
357
359
- shm_varpos = php_check_shm_data (shm_list_ptr -> ptr , shm_key );
358
+ ssize_t shm_varpos = php_check_shm_data (shm_list_ptr -> ptr , shm_key );
360
359
361
- if (shm_varpos < 0 ) {
360
+ if (shm_varpos == -1 ) {
362
361
php_error_docref (NULL , E_WARNING , "Variable key " ZEND_LONG_FMT " doesn't exist" , shm_key );
363
362
RETURN_FALSE ;
364
363
}
@@ -372,7 +371,7 @@ PHP_FUNCTION(shm_remove_var)
372
371
static bool php_put_shm_data (sysvshm_chunk_head * ptr , zend_long key , const zend_string * data )
373
372
{
374
373
sysvshm_chunk * shm_var ;
375
- zend_long shm_varpos ;
374
+ ssize_t shm_varpos ;
376
375
377
376
size_t total_size = ((zend_long ) (ZSTR_LEN (data ) + sizeof (sysvshm_chunk ) - 1 ) / sizeof (zend_long )) * sizeof (zend_long ) + sizeof (zend_long ); /* zend_long alligment */
378
377
@@ -395,15 +394,13 @@ static bool php_put_shm_data(sysvshm_chunk_head *ptr, zend_long key, const zend_
395
394
}
396
395
/* }}} */
397
396
398
- /* {{{ php_check_shm_data */
399
- static zend_long php_check_shm_data (sysvshm_chunk_head * ptr , zend_long key )
397
+ static ssize_t php_check_shm_data (sysvshm_chunk_head * ptr , zend_long key )
400
398
{
401
- zend_long pos ;
402
399
sysvshm_chunk * shm_var ;
403
400
404
401
ZEND_ASSERT (ptr );
405
402
406
- pos = ptr -> start ;
403
+ size_t pos = ptr -> start ;
407
404
408
405
for (;;) {
409
406
if (pos >= ptr -> end ) {
@@ -421,19 +418,17 @@ static zend_long php_check_shm_data(sysvshm_chunk_head *ptr, zend_long key)
421
418
}
422
419
return -1 ;
423
420
}
424
- /* }}} */
425
421
426
- static void php_remove_shm_data (sysvshm_chunk_head * ptr , zend_long shm_varpos )
422
+ static void php_remove_shm_data (sysvshm_chunk_head * ptr , size_t shm_varpos )
427
423
{
428
424
sysvshm_chunk * chunk_ptr , * next_chunk_ptr ;
429
- zend_long memcpy_len ;
430
425
431
426
ZEND_ASSERT (ptr );
432
427
433
428
chunk_ptr = (sysvshm_chunk * ) ((char * ) ptr + shm_varpos );
434
429
next_chunk_ptr = (sysvshm_chunk * ) ((char * ) ptr + shm_varpos + chunk_ptr -> next );
435
430
436
- memcpy_len = ptr -> end - shm_varpos - chunk_ptr -> next ;
431
+ size_t memcpy_len = ptr -> end - shm_varpos - chunk_ptr -> next ;
437
432
ptr -> free += chunk_ptr -> next ;
438
433
ptr -> end -= chunk_ptr -> next ;
439
434
if (memcpy_len > 0 ) {
0 commit comments