|
|
| version 1.4.2.5, 2003/02/04 12:08:57 | version 1.4.4.1, 2003/03/17 14:48:06 |
|---|---|
| Line 1 | Line 1 |
| /** @file | /** @file |
| Parser: uuencoding impl. | Parser: uuencoding impl. |
| Copyright(c) 2000,2001-2003 ArtLebedev Group(http://www.artlebedev.com) | Copyright(c) 2000,2001, 2003 ArtLebedev Group(http://www.artlebedev.com) |
| Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) | Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru) |
| @todo setrlimit | @todo setrlimit |
| Line 23 static unsigned char uue_table[64] = { | Line 23 static unsigned char uue_table[64] = { |
| 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', | 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', |
| 'X', 'Y', 'Z', '[', '\\',']', '^', '_' | 'X', 'Y', 'Z', '[', '\\',']', '^', '_' |
| }; | }; |
| void pa_uuencode(Pool& pool, String& result, StringPtr file_name, const VFile& vfile) { | void pa_uuencode(String& result, const char *file_name_cstr, const VFile& vfile) { |
| //header | //header |
| result << "content-transfer-encoding: x-uuencode\n" << "\n"; | result << "content-transfer-encoding: x-uuencode\n" << "\n"; |
| result << "begin 644 " << *file_name << "\n"; | result << "begin 644 " << file_name_cstr << "\n"; |
| //body | //body |
| const unsigned char *in=(const unsigned char *)vfile.value_ptr(); | const unsigned char *in=(const unsigned char *)vfile.value_ptr(); |
| Line 39 void pa_uuencode(Pool& pool, String& res | Line 39 void pa_uuencode(Pool& pool, String& res |
| if((itemp+count)>(in+in_length)) | if((itemp+count)>(in+in_length)) |
| count=in_length-(itemp-in); | count=in_length-(itemp-in); |
| char *buf=new(pool) char[MAX_STRING]; | char *buf=(char *)result.pool().malloc_atomic(MAX_STRING); |
| char *optr=buf; | char *optr=buf; |
| /* | /* |
| Line 81 void pa_uuencode(Pool& pool, String& res | Line 81 void pa_uuencode(Pool& pool, String& res |
| } | } |
| //footer | //footer |
| result.APPEND_AS_IS((const char* )uue_table, 1/* one char */, 0, 0) << "\n" | result.APPEND_AS_IS((const char *)uue_table, 1/* one char */, 0, 0) << "\n" |
| "end\n"; | "end\n"; |
| } | } |