📄 uudecode.c
字号:
/* $Id: uudecode.c,v 1.5 2003/10/31 15:34:53 relson Exp $ *//*****************************************************************************NAME: uudecode.c -- decode uuencoded textAUTHOR: David Relson <relson@osagesoftware.com>******************************************************************************/#include "common.h"#include "uudecode.h"uint uudecode(word_t *word){ uint size = word->leng; uint count = 0; byte *b = word->text; /* beg */ byte *s = b; /* src */ byte *d = b; /* dst */ byte *e = b+size; /* end */ int out = (*s++ & 0x7f) - 0x20; /* don't process lines without leading count character */ if (out < 0) return size; /* don't process begin and end lines */ if ((strncasecmp((const char *)b, "begin ", 6) == 0) || (strncasecmp((const char *)b, "end", 3) == 0)) return size; while (s < e - 4) { int v = 0; int i; for (i = 0; i < 4; i += 1) { byte c = *s++; v = v << 6 | ((c - 0x20) & 0x3F); } for (i = 2; i >= 0; i -= 1) { byte c = (byte) (v & 0xFF); d[i] = c; v = v >> 8; } d += 3; count += 3; } while (s < e) { *d++ = *s++; count += 1; } *d = (byte) '\0'; return count;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -