You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by jf...@apache.org on 2004/03/11 16:32:39 UTC

cvs commit: jakarta-tomcat-connectors/jk/native2/common jk_shm.c

jfclere     2004/03/11 07:32:38

  Modified:    jk/native2/common jk_shm.c
  Log:
  Arrange some castings and check the total size.
  
  Revision  Changes    Path
  1.39      +16 -11    jakarta-tomcat-connectors/jk/native2/common/jk_shm.c
  
  Index: jk_shm.c
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-connectors/jk/native2/common/jk_shm.c,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- jk_shm.c	27 Feb 2004 14:25:32 -0000	1.38
  +++ jk_shm.c	11 Mar 2004 15:32:38 -0000	1.39
  @@ -68,7 +68,7 @@
   
   static int jk2_shm_create(jk_env_t *env, jk_shm_t *shm)
   {
  -    int rc;
  +    apr_status_t rc;
       apr_file_t *file;
       apr_finfo_t finfo;
       apr_mmap_t *aprMmap;
  @@ -77,7 +77,7 @@
       globalShmPool= (apr_pool_t *)env->getAprPool( env );
   
       if( globalShmPool==NULL )
  -        return JK_FALSE;
  +        return JK_ERR;
   
       /* Check if the scoreboard is in a note. That's the only way we
          can get HP-UX to work
  @@ -102,7 +102,7 @@
       rc=apr_file_open( &file, shm->fname,
                         APR_READ | APR_WRITE | APR_CREATE | APR_BINARY,
                         APR_OS_DEFAULT, globalShmPool);
  -    if (rc!=JK_OK) {
  +    if (rc) {
           char error[256];
           apr_strerror( rc, error, 256 );
           
  @@ -110,16 +110,16 @@
                         "shm.create(): error opening file %s %d %s\n",
                         shm->fname, rc, error );
           shm->privateData=NULL;
  -        return rc;
  +        return JK_ERR;
       } 
   
       rc=apr_file_info_get(&finfo, APR_FINFO_SIZE, file);
   
       if( shm->mbean->debug > 0 )
           env->l->jkLog(env, env->l, JK_LOG_DEBUG, 
  -                      "shm.create(): file open %s %d %d\n", shm->fname, shm->size, finfo.size );
  +                      "shm.create(): file open %s %d %d\n", shm->fname, shm->size, (int) finfo.size );
   
  -    if( finfo.size < shm->size ) {
  +    if( (int) finfo.size < shm->size ) {
           char bytes[1024];
           apr_size_t toWrite = (apr_size_t)(shm->size-finfo.size);
           apr_off_t off=0;
  @@ -151,15 +151,15 @@
       rc=apr_mmap_create( &aprMmap,  file, (apr_off_t)0,
                           (apr_size_t)finfo.size, APR_MMAP_READ | APR_MMAP_WRITE,
                           globalShmPool );
  -    if( rc!=JK_OK ) {
  +    if( rc ) {
           char error[256];
           apr_strerror( rc, error, 256 );
           
           env->l->jkLog(env, env->l, JK_LOG_ERROR, 
                         "shm.create(): error creating %s %d %d %#lx %s\n",
  -                      shm->fname, finfo.size, rc, globalShmPool, error );
  +                      shm->fname, (int) finfo.size, (int) rc, globalShmPool, error );
           shm->privateData=NULL;
  -        return rc;
  +        return JK_ERR;
       }
   
       shm->privateData=aprMmap;
  @@ -404,11 +404,16 @@
    */
   jk_shm_slot_t * JK_METHOD jk2_shm_getSlot(struct jk_env *env, struct jk_shm *shm, int pos)
   {
  +    char *ptr;
       if( pos==0 ) return NULL;
       if( shm->image==NULL ) return NULL;
       if( pos > shm->slotMaxCount ) return NULL;
  +    if( pos * shm->slotSize > shm->size ) return NULL;
  +
       /* Pointer aritmethic, I hope it's right */
  -    return (jk_shm_slot_t *)((long)shm->image + (pos * shm->slotSize));
  +    ptr = (void *) shm->image;
  +    ptr = ptr + (pos * shm->slotSize);
  +    return ((jk_shm_slot_t *) ptr);
   }
   
   jk_shm_slot_t * JK_METHOD jk2_shm_createSlot(struct jk_env *env, struct jk_shm *shm, 
  @@ -559,7 +564,7 @@
       switch( code ) {
       case SHM_WRITE_SLOT: {
           char *instanceName=msg->getString( env, msg );
  -        char *buf=msg->buf;
  +        char *buf=(char *)msg->buf;
           int len=msg->len;
   
           return jk2_shm_writeSlot( env, shm, instanceName, buf, len );
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org