mirror of https://github.com/python/cpython.git
Be more careful about default args.
This commit is contained in:
parent
2c26cfe776
commit
dd96ca77da
|
@ -556,15 +556,16 @@ bsdbtopen(self, args)
|
||||||
int flags = O_RDONLY;
|
int flags = O_RDONLY;
|
||||||
int mode = 0666;
|
int mode = 0666;
|
||||||
int cachesize = 0;
|
int cachesize = 0;
|
||||||
int maxkeypage;
|
int maxkeypage = 0;
|
||||||
int minkeypage;
|
int minkeypage = 0;
|
||||||
int btflags;
|
int btflags = 0;
|
||||||
unsigned int psize;
|
unsigned int psize = 0;
|
||||||
int lorder;
|
int lorder = 0;
|
||||||
|
|
||||||
if (!newgetargs(args, "s|siiiiiii",
|
if (!newgetargs(args, "s|siiiiiii",
|
||||||
&file, &flag, &mode,
|
&file, &flag, &mode,
|
||||||
&btflags, &cachesize, &maxkeypage, &minkeypage, &psize, &lorder))
|
&btflags, &cachesize, &maxkeypage, &minkeypage,
|
||||||
|
&psize, &lorder))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (flag != NULL) {
|
if (flag != NULL) {
|
||||||
/* XXX need a way to pass O_EXCL, O_EXLOCK, O_NONBLOCK, O_SHLOCK */
|
/* XXX need a way to pass O_EXCL, O_EXLOCK, O_NONBLOCK, O_SHLOCK */
|
||||||
|
@ -594,8 +595,10 @@ bsdbtopen(self, args)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return newdbbtobject(file, flags, mode,
|
return newdbbtobject(file, flags, mode,
|
||||||
btflags, cachesize, maxkeypage, minkeypage, psize, lorder);
|
btflags, cachesize, maxkeypage, minkeypage,
|
||||||
|
psize, lorder);
|
||||||
}
|
}
|
||||||
|
|
||||||
static object *
|
static object *
|
||||||
bsdrnopen(self, args)
|
bsdrnopen(self, args)
|
||||||
object *self;
|
object *self;
|
||||||
|
@ -606,16 +609,17 @@ bsdrnopen(self, args)
|
||||||
int flags = O_RDONLY;
|
int flags = O_RDONLY;
|
||||||
int mode = 0666;
|
int mode = 0666;
|
||||||
int cachesize = 0;
|
int cachesize = 0;
|
||||||
int rnflags;
|
int rnflags = 0;
|
||||||
unsigned int psize;
|
unsigned int psize = 0;
|
||||||
int lorder;
|
int lorder = 0;
|
||||||
size_t reclen;
|
size_t reclen = 0;
|
||||||
char *bval;
|
char *bval = "";
|
||||||
char *bfname;
|
char *bfname = NULL;
|
||||||
|
|
||||||
if (!newgetargs(args, "s|siiiiiiss",
|
if (!newgetargs(args, "s|siiiiiiss",
|
||||||
&file, &flag, &mode,
|
&file, &flag, &mode,
|
||||||
&rnflags, &cachesize, &psize, &lorder, &reclen, &bval, &bfname))
|
&rnflags, &cachesize, &psize, &lorder,
|
||||||
|
&reclen, &bval, &bfname))
|
||||||
return NULL;
|
return NULL;
|
||||||
if (flag != NULL) {
|
if (flag != NULL) {
|
||||||
/* XXX need a way to pass O_EXCL, O_EXLOCK, O_NONBLOCK, O_SHLOCK */
|
/* XXX need a way to pass O_EXCL, O_EXLOCK, O_NONBLOCK, O_SHLOCK */
|
||||||
|
@ -643,6 +647,11 @@ bsdrnopen(self, args)
|
||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
else if (flag[1] != '\0') {
|
||||||
|
err_setstr(BsddbError,
|
||||||
|
"Flag char 2 should be 'l' or absent");
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return newdbrnobject(file, flags, mode,
|
return newdbrnobject(file, flags, mode,
|
||||||
rnflags, cachesize, psize, lorder, bval[0], bfname);
|
rnflags, cachesize, psize, lorder, bval[0], bfname);
|
||||||
|
|
Loading…
Reference in New Issue