[Python-Dev] Using argument clinic to replace timemodule.c:parse_time_t_args()
Serhiy Storchaka
storchaka at gmail.com
Tue Jan 21 09:59:06 CET 2014
More information about the Python-Dev mailing list
Tue Jan 21 09:59:06 CET 2014
- Previous message: [Python-Dev] Using argument clinic to replace timemodule.c:parse_time_t_args()
- Next message: [Python-Dev] Using argument clinic to replace timemodule.c:parse_time_t_args()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
21.01.14 04:44, Nikolaus Rath написав(ла): > Serhiy Storchaka <storchaka at gmail.com> writes: >> 20.01.14 06:19, Nikolaus Rath написав(ла): >>> This works if the user calls time.gmtime(None), but it fails for >>> time.gmtime(). It seems that in that case my C converter function is >>> never called. >>> >>> What's the trick that I'm missing? >> >> /*[clinic input] >> time.gmtime >> >> [ >> seconds: time_t >> ] >> / >> > > Ahh, interesting. So this works, but now the C default is evaluated even > if the user passed an argument (so that answers my question about > decreased performance in the other subthread). The generated code is: Don't use time(NULL) as C default. Instead check group_right_1 and call time(NULL) explicitly. time_gmtime_impl(PyModuleDef *module, int group_right_1, time_t seconds) { if (!group_right_1) seconds = time(NULL); ... }
- Previous message: [Python-Dev] Using argument clinic to replace timemodule.c:parse_time_t_args()
- Next message: [Python-Dev] Using argument clinic to replace timemodule.c:parse_time_t_args()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list