annotate Python/memmove.c @ 44310:e70acbf26cda

Merged revisions 59488-59511 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r59489 | christian.heimes | 2007-12-14 03:33:57 +0100 (Fri, 14 Dec 2007) | 1 line Silence a warning about an unsed variable in debug builds ........ r59490 | christian.heimes | 2007-12-14 03:35:23 +0100 (Fri, 14 Dec 2007) | 2 lines Fixed bug #1620: New @spam.getter property syntax modifies the property in place. I added also the feature that a @prop.getter decorator does not overwrite the doc string of the property if it was given as an argument to property(). ........ r59491 | raymond.hettinger | 2007-12-14 03:49:47 +0100 (Fri, 14 Dec 2007) | 1 line Cleaner method naming convention ........ r59492 | christian.heimes | 2007-12-14 04:02:34 +0100 (Fri, 14 Dec 2007) | 1 line Fixed a warning in _codecs_iso2022.c and some non C89 conform // comments. ........ r59493 | christian.heimes | 2007-12-14 05:38:13 +0100 (Fri, 14 Dec 2007) | 1 line Fixed warning in ssl module ........ r59500 | raymond.hettinger | 2007-12-14 19:08:20 +0100 (Fri, 14 Dec 2007) | 1 line Add line spacing for readability ........ r59501 | raymond.hettinger | 2007-12-14 19:12:21 +0100 (Fri, 14 Dec 2007) | 3 lines Update method names for named tuples. ........ r59503 | georg.brandl | 2007-12-14 20:03:36 +0100 (Fri, 14 Dec 2007) | 3 lines Add a section about nested listcomps to the tutorial. Thanks to Ian Bruntlett and Robert Lehmann. ........ r59504 | raymond.hettinger | 2007-12-14 20:19:59 +0100 (Fri, 14 Dec 2007) | 1 line Faster and simpler _replace() method ........ r59505 | raymond.hettinger | 2007-12-14 22:51:50 +0100 (Fri, 14 Dec 2007) | 1 line Add usage note ........ r59507 | andrew.kuchling | 2007-12-14 23:41:18 +0100 (Fri, 14 Dec 2007) | 1 line Remove warning about URL ........ r59510 | andrew.kuchling | 2007-12-14 23:52:36 +0100 (Fri, 14 Dec 2007) | 1 line Bump the version number, and make a few small edits ........ r59511 | christian.heimes | 2007-12-15 00:42:36 +0100 (Sat, 15 Dec 2007) | 2 lines Fixed bug #1628 The detection now works on Unix with Makefile, Makefile with VPATH and on Windows. ........
author Christian Heimes <christian@cheimes.de>
date Sat, 15 Dec 2007 01:27:15 +0000
parents 6f6f965c5e2d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1449
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
2 /* A perhaps slow but I hope correct implementation of memmove */
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
3
13658
f79434ee41fa Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents: 13256
diff changeset
4 extern char *memcpy(char *, char *, int);
1449
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
5
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
6 char *
13658
f79434ee41fa Mass ANSIfication of function definitions. Doesn't cover all 'extern'
Thomas Wouters <thomas@python.org>
parents: 13256
diff changeset
7 memmove(char *dst, char *src, int n)
1449
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 {
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 char *realdst = dst;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 if (n <= 0)
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 return dst;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
12 if (src >= dst+n || dst >= src+n)
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
13 return memcpy(dst, src, n);
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14 if (src > dst) {
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
15 while (--n >= 0)
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 *dst++ = *src++;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
17 }
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
18 else if (src < dst) {
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
19 src += n;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
20 dst += n;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
21 while (--n >= 0)
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
22 *--dst = *--src;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 }
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 return realdst;
ae93ec4dd556 New files.
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 }