From f36577b27b6f352f140cf1f25755d39661bd4072 Mon Sep 17 00:00:00 2001 From: hiro Date: Wed, 31 Aug 2005 06:10:31 +0000 Subject: made some core modules library (libsylph). git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@528 ee746299-78ed-0310-b773-934348b2243d --- src/uuencode.c | 101 --------------------------------------------------------- 1 file changed, 101 deletions(-) delete mode 100644 src/uuencode.c (limited to 'src/uuencode.c') diff --git a/src/uuencode.c b/src/uuencode.c deleted file mode 100644 index e0b2e79a..00000000 --- a/src/uuencode.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client - * Copyright (C) 1999,2000 Hiroyuki Yamamoto - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include - -#define UUDECODE(c) (c=='`' ? 0 : c - ' ') -#define N64(i) (i & ~63) - -const char uudigit[64] = -{ - '`', '!', '"', '#', '$', '%', '&', '\'', - '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', - 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', - 'X', 'Y', 'Z', '[', '\\', ']', '^', '_' -}; - -int touufrombits(unsigned char *out, const unsigned char *in, int inlen) -{ - int len; - - if (inlen > 45) return -1; - len = (inlen * 4 + 2) / 3 + 1; - *out++ = uudigit[inlen]; - - for (; inlen >= 3; inlen -= 3) { - *out++ = uudigit[in[0] >> 2]; - *out++ = uudigit[((in[0] << 4) & 0x30) | (in[1] >> 4)]; - *out++ = uudigit[((in[1] << 2) & 0x3c) | (in[2] >> 6)]; - *out++ = uudigit[in[2] & 0x3f]; - in += 3; - } - - if (inlen > 0) { - *out++ = uudigit[(in[0] >> 2)]; - if (inlen == 1) { - *out++ = uudigit[((in[0] << 4) & 0x30)]; - } else { - *out++ = uudigit[(((in[0] << 4) & 0x30) | (in[1] >> 4))] ; - *out++ = uudigit[((in[1] << 2) & 0x3c)]; - } - } - *out = '\0'; - - return len; -} - -int fromuutobits(char *out, const char *in) -{ - int len, outlen, inlen; - register unsigned char digit1, digit2; - - outlen = UUDECODE(in[0]); - in += 1; - if(outlen < 0 || outlen > 45) - return -2; - if(outlen == 0) - return 0; - inlen = (outlen * 4 + 2) / 3; - len = 0; - - for( ; inlen>0; inlen-=4) { - digit1 = UUDECODE(in[0]); - if (N64(digit1)) return -1; - digit2 = UUDECODE(in[1]); - if (N64(digit2)) return -1; - out[len++] = (digit1 << 2) | (digit2 >> 4); - if (inlen > 2) { - digit1 = UUDECODE(in[2]); - if (N64(digit1)) return -1; - out[len++] = (digit2 << 4) | (digit1 >> 2); - if (inlen > 3) { - digit2 = UUDECODE(in[3]); - if (N64(digit2)) return -1; - out[len++] = (digit1 << 6) | digit2; - } - } - in += 4; - } - - return len == outlen ? len : -3; -} -- cgit v1.2.3