util_win32.c revision 89bde6084c4cb2c9304abb2a4a472a4428665d7a
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha/* ====================================================================
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * The Apache Software License, Version 1.1
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * Copyright (c) 2000 The Apache Software Foundation. All rights
240b85022b73af58a6d971cd3d05d54037d8f682nd * reserved.
240b85022b73af58a6d971cd3d05d54037d8f682nd * Redistribution and use in source and binary forms, with or without
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * modification, are permitted provided that the following conditions
240b85022b73af58a6d971cd3d05d54037d8f682nd * are met:
240b85022b73af58a6d971cd3d05d54037d8f682nd * 1. Redistributions of source code must retain the above copyright
240b85022b73af58a6d971cd3d05d54037d8f682nd * notice, this list of conditions and the following disclaimer.
240b85022b73af58a6d971cd3d05d54037d8f682nd * 2. Redistributions in binary form must reproduce the above copyright
240b85022b73af58a6d971cd3d05d54037d8f682nd * notice, this list of conditions and the following disclaimer in
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * the documentation and/or other materials provided with the
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * distribution.
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * 3. The end-user documentation included with the redistribution,
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * if any, must include the following acknowledgment:
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * "This product includes software developed by the
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * Apache Software Foundation (http://www.apache.org/)."
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * Alternately, this acknowledgment may appear in the software itself,
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * if and wherever such third-party acknowledgments normally appear.
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * 4. The names "Apache" and "Apache Software Foundation" must
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * not be used to endorse or promote products derived from this
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * software without prior written permission. For written
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * permission, please contact apache@apache.org.
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * 5. Products derived from this software may not be called "Apache",
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * nor may "Apache" appear in their name, without prior written
96e6cafca226a8a2a64a7bbdc634b5b2679c9e0csascha * permission of the Apache Software Foundation.
#include <windows.h>
#include <stdarg.h>
#include <time.h>
#include <stdlib.h>
#include "httpd.h"
#include "http_log.h"
return APR_FALSE;
for (c = pString;*c;c++)
return APR_FALSE;
return APR_TRUE;
const char *szFile)
char *pInputName;
for (p = pInputName; *p; p++) {
p = pInputName;
while (!bDone) {
for (p = buf; *p; p++) {
const char *szFile)
char *pNewStr;
if ((p > pNewStr) ||
if (p != NULL) {
if (p != NULL) {
if (p != NULL) {
pQstr = q;
pPstr = p;
} while (p != NULL);
return pNewStr;
char *pNewName;
return pNewName;
int nSlashes = 0;
for (s = buf; *s; ++s) {
++nSlashes;
int return_value;
int length_written;
if (j >= max) {
return_value = 0;
return return_value;
const char *segstart;
unsigned int seglength;
const char *pos;
static const char * const invalid_filenames[] = {
pos++;
if (!*pos) {
pos++;
if (!*pos) {
while (*pos) {
unsigned int idx;
unsigned int baselength;
pos++;
pos++;