summaryrefslogtreecommitdiff
path: root/cache/src/tango_cache_tools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cache/src/tango_cache_tools.cpp')
-rw-r--r--cache/src/tango_cache_tools.cpp258
1 files changed, 0 insertions, 258 deletions
diff --git a/cache/src/tango_cache_tools.cpp b/cache/src/tango_cache_tools.cpp
deleted file mode 100644
index e22a8b9..0000000
--- a/cache/src/tango_cache_tools.cpp
+++ /dev/null
@@ -1,258 +0,0 @@
-#include <sys/time.h>
-#include <time.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include "tango_cache_tools.h"
-
-static const char data_bin2ascii[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
-#define conv_bin2ascii(a) (data_bin2ascii[(a)&0x3f])
-
-#define B64_EOLN 0xF0
-#define B64_CR 0xF1
-#define B64_EOF 0xF2
-#define B64_WS 0xE0
-#define B64_ERROR 0xFF
-#define B64_NOT_BASE64(a) (((a)|0x13) == 0xF3)
-#define B64_BASE64(a) !B64_NOT_BASE64(a)
-
-static const unsigned char data_ascii2bin[128] = {
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xE0, 0xF0, 0xFF, 0xFF, 0xF1, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0xFF, 0xFF, 0x3E, 0xFF, 0xF2, 0xFF, 0x3F,
- 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B,
- 0x3C, 0x3D, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF,
- 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
- 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E,
- 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16,
- 0x17, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
- 0xFF, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20,
- 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28,
- 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30,
- 0x31, 0x32, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
-};
-
-//�мDz�������˵���: conv_ascii2bin(x++); ��Ϊ��++����
-#define conv_ascii2bin(aa) (((aa) & 0x80)?(0xFF):data_ascii2bin[(aa)])
-
-/*********************************************************************
-�������ƣ�Base64_EncodeBlock
-���ܼ�飺��һ����BASE64�������б���
-���������in����������ַ���
- inl��in�ij���
-���������out�������洢�Ļ�������
-����ֵ�������ij���
-*********************************************************************/
-int Base64_EncodeBlock(const unsigned char *in, int inl, unsigned char *out)
-{
- int i, ret = 0;
- unsigned long l;
-
- for (i = inl; i > 0; i -= 3) {
- if (i >= 3) {
- l = (((unsigned long)in[0]) << 16L) |
- (((unsigned long)in[1]) << 8L) | in[2];
- *(out++) = conv_bin2ascii(l >> 18L);
- *(out++) = conv_bin2ascii(l >> 12L);
- *(out++) = conv_bin2ascii(l >> 6L);
- *(out++) = conv_bin2ascii(l);
- } else {
- l = ((unsigned long)in[0]) << 16L;
- if (i == 2)
- l |= ((unsigned long)in[1] << 8L);
-
- *(out++) = conv_bin2ascii(l >> 18L);
- *(out++) = conv_bin2ascii(l >> 12L);
- *(out++) = (i == 1) ? '=' : conv_bin2ascii(l >> 6L);
- *(out++) = '=';
- }
- ret += 4;
- in += 3;
- }
-
- *out = '\0';
- return (ret);
-}
-
-/*********************************************************************
-�������ƣ�Base64_DecodeBlock
-���ܼ�飺��һ����BASE64�������н������Զ�������β��BASE64�����ַ�
-���������in����������ַ���
- inl��in�ij���
-���������out�������洢�Ļ�������
- ���뱣֤���㹻�Ŀռ䣬һ��ﵽ@inl��С���ɣ�
-����ֵ��<0��ʧ�ܣ�>=0�������ij���
-*********************************************************************/
-int Base64_DecodeBlock(const unsigned char *in, int inl, unsigned char *out, int outsize)
-{
- int i, ret = 0;
- unsigned char a, b, c, d;
- unsigned long l;
-
- /* ignore not-base64-encoded charactor. */
- while ((conv_ascii2bin(*in) == B64_WS) && (inl > 0))
- {
- in++;
- inl--;
- }
- while ((inl > 3) && (B64_NOT_BASE64(conv_ascii2bin(in[inl - 1]))))
- inl--;
-
- if (inl % 4 != 0)
- return -1;
-
- if(outsize < (inl*3)/4)
- return -2;
-
- for (i = 0; i < inl; i += 4)
- {
- a = conv_ascii2bin(*(in));
- b = conv_ascii2bin(*(in+1));
- c = conv_ascii2bin(*(in+2));
- d = conv_ascii2bin(*(in+3));
- if ((a & 0x80) || (b & 0x80) || (c & 0x80) || (d & 0x80))
- return (-1);
- l = ((((unsigned long)a) << 18L) | (((unsigned long)b) << 12L) |
- (((unsigned long)c) << 6L) | (((unsigned long)d)));
- *(out++) = (unsigned char)(l >> 16L) & 0xff;
- *(out++) = (unsigned char)(l >> 8L) & 0xff;
- *(out++) = (unsigned char)(l) & 0xff;
- ret += 3;
- in+=4;
- }
-
- for(i = inl; i > 0; i -= 4)
- {
- if(*(in-3) == '=')
- {
- in -= 4;
- ret -= 3;
- continue;
- }
-
- while(*(--in) == '=')
- ret -= 1;
-
- break;
- }
-
- return ret;
-}
-
-
-//��֪������������ͬ������£��Ƚ��������Ƿ����
-int strcmp_one_word_mesa_equal_len(const char *s1_lowercase, const char *s1_uppercase, const char *s2, size_t len)
-{
- unsigned char *s1,*s12;
-
- if (s2[len-1]-'a'>=0)
- {
- s1 = (unsigned char *)s1_lowercase;
- s12= (unsigned char *)s1_uppercase;
- }
- else
- {
- s1 = (unsigned char *)s1_uppercase;
- s12= (unsigned char *)s1_lowercase;
- }
-
- do {
- if (*s1 == *s2 || *s12 == *s2)
- {
- ++s1;
- ++s12;
- ++s2;
- continue;
- }
- return 0;
- } while (--len);
-
- return 1;
-}
-
-int mkdir_according_path(const char * path)
-{
- char buffer[256];
- const char *ps=path, *pc;
-
- if(*ps == '/')
- ps += 1;
-
- while((pc = strchr(ps, '/')) != NULL)
- {
- while(*(pc+1) == '/')
- pc++;
-
- memcpy(buffer, path, pc - path);
- buffer[pc-path] = '\0';
-
- if(access(buffer, F_OK))
- {
- if(mkdir(buffer, 0777) && errno!=EEXIST)
- {
- return -1;
- }
- }
-
- ps = pc + 1;
- }
- if(access(path, F_OK))
- {
- if(mkdir(path, 0777))
- {
- return -1;
- }
- }
- return 0;
-}
-
-//��ʱ���ַ���ת��Ϊʱ���
-time_t expires_hdr2timestamp(const char *expires_val, int len)
-{
- struct tm tm;
-
- while(len > 0 && (*expires_val==' '||*expires_val=='\t'||*expires_val=='\r'||*expires_val=='\n'))
- {
- expires_val++;
- len--;
- }
- if(len == 0)
- {
- return 0;
- }
-
- memset(&tm, 0, sizeof(struct tm));
- if(strptime(expires_val, "%a, %d %b %Y %T", &tm) == NULL)
- {
- return 0;
- }
-
- return mktime(&tm);
-}
-
-//������ʱ���ת��ΪGMTʱ���ַ���
-size_t expires_timestamp2hdr_str(time_t seconds, char *buffer, size_t size)
-{
- struct tm save;
- return strftime(buffer, size, "Expires: %a, %d %b %Y %T GMT", gmtime_r(&seconds, &save));
-}
-
-//������ʱ���ת��ΪGMTʱ���
-time_t get_gmtime_timestamp(time_t seconds)
-{
- struct tm *tm, save;
-
- tm = gmtime_r(&seconds, &save);
- return mktime(tm);
-}
-