Author: hgomez Date: Fri Jun 29 06:55:47 2007 New Revision: 551893 URL: http://svn.apache.org/viewvc?view=rev&rev=551893 Log: Add ascii->ebcdic conversion around open, unlink. Provided by Ron Egyed
Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.c Modified: tomcat/connectors/trunk/jk/native/common/jk_shm.c URL: http://svn.apache.org/viewvc/tomcat/connectors/trunk/jk/native/common/jk_shm.c?view=diff&rev=551893&r1=551892&r2=551893 ============================================================================== --- tomcat/connectors/trunk/jk/native/common/jk_shm.c (original) +++ tomcat/connectors/trunk/jk/native/common/jk_shm.c Fri Jun 29 06:55:47 2007 @@ -241,6 +241,10 @@ { int rc; char flkname[256]; +#ifdef AS400_UTF8 + char *wptr; +#endif + JK_TRACE_ENTER(l); if (attached && jk_shmem.lockname) { @@ -248,7 +252,7 @@ jk_shmem.fd_lock = open(jk_shmem.lockname, O_RDWR, 0666); #else errno = EINVAL; -#endif +#endif if (jk_shmem.fd_lock == -1) { rc = errno; JK_TRACE_EXIT(l); @@ -278,8 +282,15 @@ #else strcpy(flkname, fname); strcat(flkname, ".lock"); +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(flkname) + 1); + jk_ascii2ebcdic((char *)flkname, wptr); + jk_shmem.fd_lock = open(wptr, O_RDWR|O_CREAT|O_TRUNC, 0666); + free(wptr); +#else jk_shmem.fd_lock = open(flkname, O_RDWR|O_CREAT|O_TRUNC, 0666); #endif +#endif if (jk_shmem.fd_lock == -1) { rc = errno; JK_TRACE_EXIT(l); @@ -319,6 +330,9 @@ int rc; int fd; void *base; +#ifdef AS400_UTF8 + char *wptr; +#endif JK_TRACE_ENTER(l); if (jk_shmem.hdr) { @@ -353,7 +367,14 @@ if (!attached) { size_t size; jk_shmem.attached = 0; +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + fd = open(wptr, O_RDWR|O_CREAT|O_TRUNC, 0666); + free(wptr); +#else fd = open(jk_shmem.filename, O_RDWR|O_CREAT|O_TRUNC, 0666); +#endif if (fd == -1) { jk_shmem.size = 0; JK_TRACE_EXIT(l); @@ -365,7 +386,14 @@ if (ftruncate(fd, jk_shmem.size)) { rc = errno; close(fd); +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.filename); +#endif jk_shmem.size = 0; JK_TRACE_EXIT(l); return rc; @@ -377,7 +405,14 @@ if (lseek(fd, 0, SEEK_SET) != 0) { rc = errno; close(fd); +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.filename); +#endif jk_shmem.size = 0; JK_TRACE_EXIT(l); return rc; @@ -390,7 +425,14 @@ if (base == (caddr_t)MAP_FAILED || base == (caddr_t)0) { rc = errno; close(fd); +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.filename); +#endif jk_shmem.size = 0; JK_TRACE_EXIT(l); return rc; @@ -439,7 +481,14 @@ if (!attached) { munmap((void *)jk_shmem.hdr, jk_shmem.size); close(jk_shmem.fd); +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.filename); +#endif } jk_shmem.hdr = NULL; jk_shmem.fd = -1; @@ -463,6 +512,10 @@ void jk_shm_close() { int rc; +#ifdef AS400_UTF8 + char *wptr; +#endif + if (jk_shmem.hdr) { --jk_shmem.hdr->h.data.childs; @@ -493,12 +546,26 @@ if (jk_shmem.fd_lock >= 0) close(jk_shmem.fd_lock); if (jk_shmem.lockname) { +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.lockname) + 1); + jk_ascii2ebcdic((char *)jk_shmem.lockname, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.lockname); +#endif free(jk_shmem.lockname); jk_shmem.lockname = NULL; } if (jk_shmem.filename) { +#ifdef AS400_UTF8 + wptr = (char *)malloc(strlen(jk_shmem.filename) + 1); + jk_ascii2ebcdic((char *)jk_shmem.filename, wptr); + unlink(wptr); + free(wptr); +#else unlink(jk_shmem.filename); +#endif free(jk_shmem.filename); jk_shmem.filename = NULL; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]