summaryrefslogtreecommitdiffstats
path: root/Objects/mappingobject.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1993-11-23 17:53:17 (GMT)
committerGuido van Rossum <guido@python.org>1993-11-23 17:53:17 (GMT)
commitb376a4ad1848d1319245f440c85ef265e1fef401 (patch)
treedc431ee0a195eb95dacec0edd25fdc1f1b7edd8e /Objects/mappingobject.c
parent83eb962528e61dadd75cfc38e0aa6469d91d1a66 (diff)
downloadcpython-b376a4ad1848d1319245f440c85ef265e1fef401.zip
cpython-b376a4ad1848d1319245f440c85ef265e1fef401.tar.gz
cpython-b376a4ad1848d1319245f440c85ef265e1fef401.tar.bz2
* timemodule.c: Add hack for Solaris 2.
* posixmodule.c: don't prototype getcwd() -- it's not portable... * mappingobject.c: double-check validity of last_name_char in dict{lookup,insert,remove}. * arraymodule.c: need memmove only for non-STDC Suns. * Makefile: comment out HTML_LIBS and XT_USE by default * pythonmain.c: don't prototype getopt() -- it's not standardized * socketmodule.c: cast flags arg to {get,set}sockopt() and addrbuf arg to recvfrom() to (ANY*). * pythonrun.c (initsigs): fix prototype, make it static * intobject.c (LONG_BIT): only #define it if not already defined * classobject.[ch]: remove all references to unused instance_convert() * mappingobject.c (getmappingsize): Don't return NULL in int function.
Diffstat (limited to 'Objects/mappingobject.c')
-rw-r--r--Objects/mappingobject.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/Objects/mappingobject.c b/Objects/mappingobject.c
index 65512be..972560d 100644
--- a/Objects/mappingobject.c
+++ b/Objects/mappingobject.c
@@ -572,7 +572,7 @@ getmappingsize(mp)
{
if (mp == NULL || !is_mappingobject(mp)) {
err_badcall();
- return NULL;
+ return 0;
}
return ((mappingobject *)mp)->ma_used;
}
@@ -773,7 +773,7 @@ dictlookup(v, key)
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
@@ -791,7 +791,7 @@ dictinsert(v, key, item)
char *key;
object *item;
{
- if (key != last_name_char) {
+ if (key != last_name_char || strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {
@@ -808,7 +808,8 @@ dictremove(v, key)
object *v;
char *key;
{
- if (key != last_name_char) {
+ if (key != last_name_char ||
+ strcmp(key, getstringvalue(last_name_object)) != 0) {
XDECREF(last_name_object);
last_name_object = newstringobject(key);
if (last_name_object == NULL) {