httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wr...@locus.apache.org
Subject cvs commit: apache-2.0/src/lib/apr/include apr.hw
Date Thu, 02 Nov 2000 15:24:25 GMT
wrowe       00/11/02 07:24:14

  Modified:    src      CHANGES
               src/lib/apr/file_io/unix fileacc.c
               src/lib/apr/file_io/win32 dir.c filedup.c fileio.h
                        filestat.c open.c pipe.c
               src/lib/apr/include apr.hw
  Log:
    The Unicode/WinNT APR patch.  Note that this may even be faster than
    MS's internal atow translation that always occurs.  Enabled now by
    default.  Warning; it's probable that extended characters in existing
    URL's are broken by the patch, since the URL semantic changes.  Also,
    launching cgi's, loading modules, etc that use extended characters are
    also broken.
  
    Step 2 is to address the cgi/CreateProcess (spawn) aspects of the patch,
    fix dso/LoadModule handling, and accept a Unicode'd httpd.conf file, as
    utf-8 is already legal in httpd.conf path specs, but difficult to use.
  
  Revision  Changes    Path
  1.302     +5 -0      apache-2.0/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/CHANGES,v
  retrieving revision 1.301
  retrieving revision 1.302
  diff -u -r1.301 -r1.302
  --- CHANGES	2000/10/31 12:30:20	1.301
  +++ CHANGES	2000/11/02 15:23:14	1.302
  @@ -1,4 +1,9 @@
   Changes with Apache 2.0a8
  +  *) Expand APR for WinNT to fully accept and return utf-8 encoded
  +     Unicode file names and paths, and tag the Content-Type from 
  +     mod_autoindex to reflect that charset if the APR_HAS_UNICODE_FS
  +     is true.  [William Rowe]
  +
     *) Compute the content length (and add appropriate header field) for
        the response when no content length is available and we can't use 
        chunked encoding.  [Jeff Trawick]
  
  
  
  1.35      +16 -12    apache-2.0/src/lib/apr/file_io/unix/fileacc.c
  
  Index: fileacc.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/unix/fileacc.c,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- fileacc.c	2000/10/25 02:46:41	1.34
  +++ fileacc.c	2000/11/02 15:23:33	1.35
  @@ -76,19 +76,23 @@
   
   apr_status_t apr_get_filename(char **fname, apr_file_t *thefile)
   {
  -#if APR_HAS_UNICODE_FS
  -    apr_status_t rv;
  -    int len = wcslen(thefile->fname) + 1;
  -    int dremains = MAX_PATH;
  -    *fname = apr_palloc(thefile->cntxt, len * 2);
  -    if ((rv = conv_ucs2_to_utf8(thefile->fname, &len,
  -                                *fname, &dremains)))
  -        return rv;
  -    if (len)
  -        return APR_ENAMETOOLONG;
  -#else
  -    *fname = apr_pstrdup(thefile->cntxt, thefile->fname);
  +#if defined(WIN32) && APR_HAS_UNICODE_FS
  +    apr_oslevel_e os_level;
  +    if (!apr_get_oslevel(thefile->cntxt, &os_level) && os_level >= APR_WIN_NT)
  +    {
  +        apr_status_t rv;
  +        int len = wcslen(thefile->w.fname) + 1;
  +        int dremains = MAX_PATH;
  +        *fname = apr_palloc(thefile->cntxt, len * 2);
  +        if ((rv = conv_ucs2_to_utf8(thefile->w.fname, &len,
  +                                    *fname, &dremains)))
  +            return rv;
  +        if (len)
  +            return APR_ENAMETOOLONG;
  +    }
  +    else
   #endif
  +        *fname = apr_pstrdup(thefile->cntxt, thefile->n.fname);
       return APR_SUCCESS;
   }
   
  
  
  
  1.30      +83 -62    apache-2.0/src/lib/apr/file_io/win32/dir.c
  
  Index: dir.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/dir.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- dir.c	2000/10/25 02:46:41	1.29
  +++ dir.c	2000/11/02 15:23:39	1.30
  @@ -89,29 +89,40 @@
   {
       int len = strlen(dirname);
   #if APR_HAS_UNICODE_FS
  -    apr_status_t rv;
  -    int lremains = len;
  -    int dremains = (len + 3) * 2;
  -    (*new) = apr_pcalloc(cont, sizeof(apr_dir_t));
  -    (*new)->entry = apr_pcalloc(cont, sizeof(WIN32_FIND_DATAW));
  -    (*new)->dirname = apr_palloc(cont, dremains);
  -    if ((rv = conv_utf8_to_ucs2(dirname, &lremains,
  -                                 (*new)->dirname, &dremains)))
  -        return rv;
  -    if (lremains)
  -        return APR_ENAMETOOLONG;
  -    len = (len + 3) * 2 - dremains;
  -#else
  -    (*new) = apr_pcalloc(cont, sizeof(apr_dir_t));
  -    (*new)->entry = apr_pcalloc(cont, sizeof(WIN32_FIND_DATA));
  -    (*new)->dirname = apr_palloc(cont, len + 3);
  -    memcpy((*new)->dirname, dirname, len);
  +    apr_oslevel_e os_level;
  +    if (!apr_get_oslevel(cont, &os_level) && os_level >= APR_WIN_NT)
  +    {
  +        apr_status_t rv;
  +        int lremains = len;
  +        int dremains = (len + 3) * 2;
  +        (*new) = apr_pcalloc(cont, sizeof(apr_dir_t));
  +        (*new)->w.entry = apr_pcalloc(cont, sizeof(WIN32_FIND_DATAW));
  +        (*new)->w.dirname = apr_palloc(cont, dremains);
  +        if ((rv = conv_utf8_to_ucs2(dirname, &lremains,
  +                                     (*new)->w.dirname, &dremains)))
  +            return rv;
  +        if (lremains)
  +            return APR_ENAMETOOLONG;
  +        len = (len + 3) * 2 - dremains;
  +        if (len && (*new)->w.dirname[len - 1] != '/') {
  +    	    (*new)->w.dirname[len++] = '/';
  +        }
  +        (*new)->w.dirname[len++] = '*';
  +        (*new)->w.dirname[len] = '\0';
  +    }
  +    else
   #endif
  -    if (len && dirname[len - 1] != '/') {
  -    	(*new)->dirname[len++] = '/';
  +    {
  +        (*new) = apr_pcalloc(cont, sizeof(apr_dir_t));
  +        (*new)->n.entry = apr_pcalloc(cont, sizeof(WIN32_FIND_DATA));
  +        (*new)->n.dirname = apr_palloc(cont, len + 3);
  +        memcpy((*new)->n.dirname, dirname, len);
  +        if (len && (*new)->n.dirname[len - 1] != '/') {
  +    	    (*new)->n.dirname[len++] = '/';
  +        }
  +        (*new)->n.dirname[len++] = '*';
  +        (*new)->n.dirname[len] = '\0';
       }
  -    (*new)->dirname[len++] = '*';
  -    (*new)->dirname[len] = '\0';
       (*new)->cntxt = cont;
       (*new)->dirhand = INVALID_HANDLE_VALUE;
       apr_register_cleanup((*new)->cntxt, (void *)(*new), dir_cleanup,
  @@ -131,26 +142,32 @@
   apr_status_t apr_readdir(apr_dir_t *thedir)
   {
   #if APR_HAS_UNICODE_FS
  -    if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  -        thedir->dirhand = FindFirstFileW(thedir->dirname, thedir->entry);
  +    apr_oslevel_e os_level;
  +    if (!apr_get_oslevel(thedir->cntxt, &os_level) && os_level >= APR_WIN_NT)
  +    {
           if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  +            thedir->dirhand = FindFirstFileW(thedir->w.dirname, thedir->w.entry);
  +            if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  +                return apr_get_os_error();
  +            }
  +        }
  +        else if (!FindNextFileW(thedir->dirhand, thedir->w.entry)) {
               return apr_get_os_error();
           }
       }
  -    else if (!FindNextFileW(thedir->dirhand, thedir->entry)) {
  -        return apr_get_os_error();
  -    }
  -#else
  -    if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  -        thedir->dirhand = FindFirstFile(thedir->dirname, thedir->entry);
  +    else
  +#endif
  +    {
           if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  +            thedir->dirhand = FindFirstFile(thedir->n.dirname, thedir->n.entry);
  +            if (thedir->dirhand == INVALID_HANDLE_VALUE) {
  +                return apr_get_os_error();
  +            }
  +        }
  +        else if (!FindNextFile(thedir->dirhand, thedir->n.entry)) {
               return apr_get_os_error();
           }
       }
  -    else if (!FindNextFile(thedir->dirhand, thedir->entry)) {
  -        return apr_get_os_error();
  -    }
  -#endif
       return APR_SUCCESS;
   }
   
  @@ -182,56 +199,60 @@
   
   apr_status_t apr_dir_entry_size(apr_ssize_t *size, apr_dir_t *thedir)
   {
  -    if (thedir == NULL || thedir->entry == NULL) {
  +    if (thedir == NULL || thedir->n.entry == NULL) {
           return APR_ENODIR;
       }
  -    (*size) = (thedir->entry->nFileSizeHigh * MAXDWORD) + 
  -        thedir->entry->nFileSizeLow;
  +    (*size) = (thedir->n.entry->nFileSizeHigh * MAXDWORD) + 
  +        thedir->n.entry->nFileSizeLow;
       return APR_SUCCESS;
   }
   
   apr_status_t apr_dir_entry_mtime(apr_time_t *time, apr_dir_t *thedir)
   {
  -    if (thedir == NULL || thedir->entry == NULL) {
  +    if (thedir == NULL || thedir->n.entry == NULL) {
           return APR_ENODIR;
       }
  -    FileTimeToAprTime(time, &thedir->entry->ftLastWriteTime);
  +    FileTimeToAprTime(time, &thedir->n.entry->ftLastWriteTime);
       return APR_SUCCESS;
   }
    
   apr_status_t apr_dir_entry_ftype(apr_filetype_e *type, apr_dir_t *thedir)
   {
  -    switch(thedir->entry->dwFileAttributes) {
  -    case FILE_ATTRIBUTE_DIRECTORY: {
  -        (*type) = APR_DIR;
  -        return APR_SUCCESS;
  -    }
  -    case FILE_ATTRIBUTE_NORMAL: {
  -        (*type) = APR_REG;
  -        return APR_SUCCESS;
  -    }
  -    default: {
  -        (*type) = APR_REG;     /* As valid as anything else.*/
  -        return APR_SUCCESS;
  -    }
  +    switch(thedir->n.entry->dwFileAttributes) {
  +        case FILE_ATTRIBUTE_DIRECTORY: {
  +            (*type) = APR_DIR;
  +            return APR_SUCCESS;
  +        }
  +        case FILE_ATTRIBUTE_NORMAL: {
  +            (*type) = APR_REG;
  +            return APR_SUCCESS;
  +        }
  +        default: {
  +            (*type) = APR_REG;     /* As valid as anything else.*/
  +            return APR_SUCCESS;
  +        }
       }
   }
   
   apr_status_t apr_get_dir_filename(char **new, apr_dir_t *thedir)
   {
   #if APR_HAS_UNICODE_FS
  -    apr_status_t rv;
  -    int len = wcslen(thedir->entry->cFileName) + 1;
  -    int dremains = MAX_PATH;
  -    (*new) = apr_palloc(thedir->cntxt, len * 2);
  -    if ((rv = conv_ucs2_to_utf8(thedir->entry->cFileName, &len,
  -                                *new, &dremains)))
  -        return rv;
  -    if (len)
  -        return APR_ENAMETOOLONG;
  -#else
  -    (*new) = apr_pstrdup(thedir->cntxt, thedir->entry->cFileName);
  +    apr_oslevel_e os_level;
  +    if (!apr_get_oslevel(thedir->cntxt, &os_level) && os_level >= APR_WIN_NT)
  +    {
  +        apr_status_t rv;
  +        int len = wcslen(thedir->w.entry->cFileName) + 1;
  +        int dremains = MAX_PATH;
  +        (*new) = apr_palloc(thedir->cntxt, len * 2);
  +        if ((rv = conv_ucs2_to_utf8(thedir->w.entry->cFileName, &len,
  +                                    *new, &dremains)))
  +            return rv;
  +        if (len)
  +            return APR_ENAMETOOLONG;
  +    }
  +    else
   #endif
  +        (*new) = apr_pstrdup(thedir->cntxt, thedir->n.entry->cFileName);
       return APR_SUCCESS;
   }
   
  
  
  
  1.24      +10 -7     apache-2.0/src/lib/apr/file_io/win32/filedup.c
  
  Index: filedup.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/filedup.c,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- filedup.c	2000/10/25 02:46:42	1.23
  +++ filedup.c	2000/11/02 15:23:40	1.24
  @@ -66,9 +66,7 @@
   {
       BOOLEAN isStdHandle = FALSE;
       HANDLE hCurrentProcess = GetCurrentProcess();
  -#if APR_HAS_UNICODE_FS
  -    int len = wcslen(old_file->fname) + 1;
  -#endif
  +    apr_oslevel_e os_level;
   
       if ((*new_file) == NULL) {
           if (p == NULL) {
  @@ -111,11 +109,16 @@
   
       (*new_file)->cntxt = old_file->cntxt;
   #if APR_HAS_UNICODE_FS
  -    (*new_file)->fname = apr_palloc(old_file->cntxt, len * 2);
  -    wcscpy((*new_file)->fname, old_file->fname);
  -#else
  -    (*new_file)->fname = apr_pstrdup(old_file->cntxt, old_file->fname);
  +    if (!apr_get_oslevel(old_file->cntxt, &os_level) && os_level >= APR_WIN_NT)
  +    {
  +        int len = wcslen(old_file->w.fname) + 1;
  +        (*new_file)->w.fname = apr_palloc(old_file->cntxt, len * 2);
  +        wcscpy((*new_file)->w.fname, old_file->w.fname);
  +    }
  +    else
   #endif
  +        (*new_file)->n.fname = apr_pstrdup(old_file->cntxt, old_file->n.fname);
  +
   /*    (*new_file)->demonfname = apr_pstrdup(old_file->cntxt, old_file->demonfname);
    *    (*new_file)->lowerdemonfname = apr_pstrdup(old_file->cntxt, old_file->lowerdemonfname);
    */
  
  
  
  1.34      +18 -8     apache-2.0/src/lib/apr/file_io/win32/fileio.h
  
  Index: fileio.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/fileio.h,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- fileio.h	2000/10/25 02:46:42	1.33
  +++ fileio.h	2000/11/02 15:23:42	1.34
  @@ -140,11 +140,16 @@
       apr_interval_time_t timeout;
   
       /* File specific info */
  +    union {
   #if APR_HAS_UNICODE_FS
  -    apr_wchar_t *fname;
  -#else
  -    char *fname;
  +        struct {
  +            apr_wchar_t *fname;
  +        } w;
   #endif
  +        struct {
  +            char *fname;
  +        } n;
  +    };
       apr_canon_t *canonname;
       
       DWORD dwFileAttributes;
  @@ -172,13 +177,18 @@
   struct apr_dir_t {
       apr_pool_t *cntxt;
       HANDLE dirhand;
  +    union {
   #if APR_HAS_UNICODE_FS
  -    apr_wchar_t *dirname;
  -    WIN32_FIND_DATAW *entry;
  -#else
  -    char *dirname;
  -    WIN32_FIND_DATA *entry;
  +        struct {
  +            apr_wchar_t *dirname;
  +            WIN32_FIND_DATAW *entry;
  +        } w;
   #endif
  +        struct {
  +            char *dirname;
  +            WIN32_FIND_DATA *entry;
  +        } n;
  +    };
   };
   
   apr_status_t file_cleanup(void *);
  
  
  
  1.31      +46 -58    apache-2.0/src/lib/apr/file_io/win32/filestat.c
  
  Index: filestat.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/filestat.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- filestat.c	2000/10/25 02:46:42	1.30
  +++ filestat.c	2000/11/02 15:23:43	1.31
  @@ -197,78 +197,66 @@
   
   apr_status_t apr_stat(apr_finfo_t *finfo, const char *fname, apr_pool_t *cont)
   {
  -    /* WIN32_FILE_ATTRIBUTE_DATA is an exact subset of the first 
  -     * entries of WIN32_FIND_DATA
  -     * We need to catch the case where fname length == MAX_PATH since for
  +    /* Big enough for the Win9x FindFile, but actually the same
  +     * initial fields as the GetFileAttributes return structure
  +     */
  +    WIN32_FIND_DATA FileInformation;
  +    apr_oslevel_e os_level;
  +
  +    /* We need to catch the case where fname length == MAX_PATH since for
        * some strange reason GetFileAttributesEx fails with PATH_NOT_FOUND.
        * We would rather indicate length error than 'not found'
        * since in many cases the apr user is testing for 'not found' 
        * and this is not such a case.
  -     */
  +     */        
   #if APR_HAS_UNICODE_FS
  -    WIN32_FIND_DATAW FileInformation;
  -    apr_wchar_t wname[MAX_PATH];
  -    int len = MAX_PATH;
  -    int lremains = strlen(fname) + 1;
  -    apr_oslevel_e os_level;
  -    apr_status_t rv;
  -    HANDLE hFind;
  -    if ((rv = conv_utf8_to_ucs2(fname, &lremains, wname, &len)))
  -        return rv;
  -    if (lremains)
  -        return APR_ENAMETOOLONG;
  -    if (!apr_get_oslevel(cont, &os_level) && os_level >= APR_WIN_98) {
  +    if (!apr_get_oslevel(cont, &os_level) && os_level >= APR_WIN_NT)
  +    {
  +        apr_wchar_t wname[MAX_PATH];
  +        int len = MAX_PATH;
  +        int lremains = strlen(fname) + 1;
  +        apr_status_t rv;
  +        if ((rv = conv_utf8_to_ucs2(fname, &lremains, wname, &len)))
  +            return rv;
  +        if (lremains)
  +            return APR_ENAMETOOLONG;
           if (!GetFileAttributesExW(wname, GetFileExInfoStandard, 
  -                                  (WIN32_FILE_ATTRIBUTE_DATA*) &FileInformation)) {
  +                                  &FileInformation)) {
               return apr_get_os_error();
           }
       }
  -    else {
  -        /* What a waste of cpu cycles... but what else can we do?
  -         */
  -        if (strchr(fname, '*') || strchr(fname, '?'))
  -            return APR_ENOENT;
  -        hFind = FindFirstFileW(wname, &FileInformation);
  -        if (hFind == INVALID_HANDLE_VALUE) {
  -            return apr_get_os_error();
  -    	} else {
  -            FindClose(hFind);
  -        }
  -    }
  +    else
   #else
  -    int len = strlen(fname);
  -    WIN32_FIND_DATA FileInformation;
  -    HANDLE hFind;
  -    apr_oslevel_e os_level;
  -    (*new) = apr_pcalloc(cont, sizeof(apr_dir_t));
  -    (*new)->entry = apr_pcalloc(cont, sizeof(WIN32_FIND_DATA));
  -    (*new)->dirname = apr_palloc(cont, len + 3);
  -    memcpy((*new)->dirname, dirname, len);
  -
  -    if (len >= MAX_PATH) {
  -        return APR_ENAMETOOLONG;
  -    }
  -    else if (!apr_get_oslevel(cont, &os_level) && os_level >= APR_WIN_98)
{
  -        if (!GetFileAttributesEx(fname, GetFileExInfoStandard, 
  -                                 (WIN32_FILE_ATTRIBUTE_DATA*) &FileInformation)) {
  -            return apr_get_os_error();
  +    apr_get_oslevel(cont, &os_level);
  +#endif
  +    {
  +        if (strlen(fname) >= MAX_PATH) {
  +            return APR_ENAMETOOLONG;
           }
  -    }
  -    else {
  -        /* What a waste of cpu cycles... but what else can we do?
  -         */
  -        if (strchr(fname, '*') || strchr(fname, '?'))
  -            return APR_ENOENT;
  -        hFind = FindFirstFile(fname, &FileInformation);
  -        if (hFind == INVALID_HANDLE_VALUE) {
  -            return apr_get_os_error();
  -    	} else {
  -            FindClose(hFind);
  +        else if (os_level >= APR_WIN_98) 
  +        {
  +            if (!GetFileAttributesEx(fname, GetFileExInfoStandard, 
  +                                     &FileInformation)) {
  +                return apr_get_os_error();
  +            }
           }
  +        else 
  +        {
  +            /* What a waste of cpu cycles... but what else can we do?
  +             */
  +            HANDLE hFind;
  +            if (strchr(fname, '*') || strchr(fname, '?'))
  +                return APR_ENOENT;
  +            hFind = FindFirstFile(fname, &FileInformation);
  +            if (hFind == INVALID_HANDLE_VALUE) {
  +                return apr_get_os_error();
  +    	    } else {
  +                FindClose(hFind);
  +            }
  +        }
       }
  -#endif
   
  -    memset(finfo,'\0', sizeof(*finfo));
  +    memset(finfo, '\0', sizeof(*finfo));
       /* Filetype - Directory or file?
        * Short of opening the handle to the file, the 'FileType' appears
        * to be unknowable (in any trustworthy or consistent sense), that
  
  
  
  1.53      +6 -6      apache-2.0/src/lib/apr/file_io/win32/open.c
  
  Index: open.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/open.c,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- open.c	2000/10/25 02:46:42	1.52
  +++ open.c	2000/11/02 15:23:44	1.53
  @@ -116,14 +116,14 @@
               return rv;
       }
   #if APR_HAS_UNICODE_FS
  -    (*new)->fname = apr_palloc(cont, dremains);
  +    (*new)->w.fname = apr_palloc(cont, dremains);
       if ((rv = conv_utf8_to_ucs2(fname, &lremains,
  -                                (*new)->fname, &dremains)))
  +                                (*new)->w.fname, &dremains)))
           return rv;
       if (lremains)
           return APR_ENAMETOOLONG;
   #else
  -    (*new)->fname = apr_pstrdup(cont, fname);
  +    (*new)->n.fname = apr_pstrdup(cont, fname);
   #endif
   
       if (apr_get_oslevel(cont, &level) == APR_SUCCESS && level >= APR_WIN_NT)
{
  @@ -167,10 +167,10 @@
       }
   
   #if APR_HAS_UNICODE_FS
  -    (*new)->filehand = CreateFileW((*new)->fname, oflags, sharemode,
  +    (*new)->filehand = CreateFileW((*new)->w.fname, oflags, sharemode,
                                      NULL, createflags, attributes, 0);
   #else
  -    (*new)->filehand = CreateFile((*new)->fname, oflags, sharemode,
  +    (*new)->filehand = CreateFile((*new)->n.fname, oflags, sharemode,
                                     NULL, createflags, attributes, 0);
   #endif
       if ((*new)->filehand == INVALID_HANDLE_VALUE) {
  @@ -303,7 +303,7 @@
       if ((*thefile)->filehand == INVALID_HANDLE_VALUE)
           return apr_get_os_error();
       (*thefile)->cntxt = cont;
  -    (*thefile)->fname = "\0\0"; // What was this: "STD_ERROR_HANDLE";
  +    (*thefile)->n.fname = "\0\0"; // What was this??? : "STD_ERROR_HANDLE"; */
       (*thefile)->eof_hit = 0;
   
       return APR_SUCCESS;
  
  
  
  1.30      +4 -4      apache-2.0/src/lib/apr/file_io/win32/pipe.c
  
  Index: pipe.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/pipe.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- pipe.c	2000/10/18 16:59:57	1.29
  +++ pipe.c	2000/11/02 15:23:45	1.30
  @@ -79,7 +79,7 @@
   
       (*in) = (apr_file_t *)apr_pcalloc(p, sizeof(apr_file_t));
       (*in)->cntxt = p;
  -    (*in)->fname = apr_pstrdup(p, "PIPE");
  +    (*in)->n.fname = "\0\0"; // What was this??? : apr_pstrdup(p, "PIPE"); */
       (*in)->pipe = 1;
       (*in)->timeout = -1;
       (*in)->ungetchar = -1;
  @@ -91,7 +91,7 @@
   
       (*out) = (apr_file_t *)apr_pcalloc(p, sizeof(apr_file_t));
       (*out)->cntxt = p;
  -    (*out)->fname = apr_pstrdup(p, "PIPE");
  +    (*in)->n.fname = "\0\0"; // What was this??? : apr_pstrdup(p, "PIPE"); */
       (*out)->pipe = 1;
       (*out)->timeout = -1;
       (*out)->ungetchar = -1;
  @@ -149,7 +149,7 @@
   
       (*in) = (apr_file_t *)apr_pcalloc(p, sizeof(apr_file_t));
       (*in)->cntxt = p;
  -    (*in)->fname = apr_pstrdup(p, "PIPE");
  +    (*in)->n.fname = "\0\0"; // What was this??? : apr_pstrdup(p, "PIPE"); */
       (*in)->pipe = 1;
       (*in)->timeout = -1;
       (*in)->ungetchar = -1;
  @@ -162,7 +162,7 @@
   
       (*out) = (apr_file_t *)apr_pcalloc(p, sizeof(apr_file_t));
       (*out)->cntxt = p;
  -    (*out)->fname = apr_pstrdup(p, "PIPE");
  +    (*in)->n.fname = "\0\0"; // What was this??? : apr_pstrdup(p, "PIPE"); */
       (*out)->pipe = 1;
       (*out)->timeout = -1;
       (*out)->ungetchar = -1;
  
  
  
  1.34      +3 -5      apache-2.0/src/lib/apr/include/apr.hw
  
  Index: apr.hw
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr.hw,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- apr.hw	2000/10/25 09:03:45	1.33
  +++ apr.hw	2000/11/02 15:24:08	1.34
  @@ -155,12 +155,10 @@
   #define APR_HAS_XLATE          0
   
   /*
  - * XXX: Problem - while this may be an NT build - if we share binaries,
  - * this is actually a run time decision
  - * Until tested and validated - back to 'future' status (feel free to toggle
  - * to 1 and experiment.
  + * XXX: Problem - while this may be an NT build - so we are experimenting
  + * but if we have problems, please feel free to revert to 0.
    */
  -#define APR_HAS_UNICODE_FS     0
  +#define APR_HAS_UNICODE_FS     1
   
   /* Typedefs that APR needs. */
   
  
  
  

Mime
View raw message