Mercurial > hgrepos > hgweb.cgi > imapext
comparison src/osdep/wce/nl_wce.c @ 0:ada5e610ab86
imap-2007e
author | yuuji@gentei.org |
---|---|
date | Mon, 14 Sep 2009 15:17:45 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:ada5e610ab86 |
---|---|
1 /* ======================================================================== | |
2 * Copyright 1988-2006 University of Washington | |
3 * | |
4 * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 * you may not use this file except in compliance with the License. | |
6 * You may obtain a copy of the License at | |
7 * | |
8 * http://www.apache.org/licenses/LICENSE-2.0 | |
9 * | |
10 * | |
11 * ======================================================================== | |
12 */ | |
13 | |
14 /* | |
15 * Program: Windows/TOPS-20 newline routines | |
16 * | |
17 * Author: Mark Crispin | |
18 * Networks and Distributed Computing | |
19 * Computing & Communications | |
20 * University of Washington | |
21 * Administration Building, AG-44 | |
22 * Seattle, WA 98195 | |
23 * Internet: MRC@CAC.Washington.EDU | |
24 * | |
25 * Date: 1 August 1988 | |
26 * Last Edited: 30 August 2006 | |
27 */ | |
28 | |
29 /* Copy string with CRLF newlines | |
30 * Accepts: destination string | |
31 * pointer to size of destination string buffer | |
32 * source string | |
33 * length of source string | |
34 * Returns: length of copied string | |
35 */ | |
36 | |
37 unsigned long strcrlfcpy (unsigned char **dst,unsigned long *dstl, | |
38 unsigned char *src,unsigned long srcl) | |
39 { | |
40 /* flush destination buffer if too small */ | |
41 if (*dst && (srcl > *dstl)) fs_give ((void **) dst); | |
42 if (!*dst) { /* make a new buffer if needed */ | |
43 *dst = (char *) fs_get ((size_t) (*dstl = srcl) + 1); | |
44 if (dstl) *dstl = srcl; /* return new buffer length to main program */ | |
45 } | |
46 /* copy strings */ | |
47 if (srcl) memcpy (*dst,src,(size_t) srcl); | |
48 *(*dst + srcl) = '\0'; /* tie off destination */ | |
49 return srcl; /* return length */ | |
50 } | |
51 | |
52 | |
53 /* Length of string after strcrlfcpy applied | |
54 * Accepts: source string | |
55 * Returns: length of string | |
56 */ | |
57 | |
58 unsigned long strcrlflen (STRING *s) | |
59 { | |
60 return SIZE (s); /* no-brainer on DOS! */ | |
61 } |