- printf_spec_t nextspec = Dynarr_atp(specs, i + 1);
- Lisp_Object obj = largs[spec->argnum - 1];
-
- if (INTP(obj)) {
- if (spec->forwarding_precision) {
- nextspec->precision = XINT(obj);
- nextspec->minwidth = spec->minwidth;
- } else {
- nextspec->minwidth = XINT(obj);
- if (XINT(obj) < 0) {
- spec->minus_flag = 1;
- nextspec->minwidth =
- -nextspec->minwidth;
+ if(!largs) {
+ error("Invalid largs and '*' converter in emacs_doprnt_1");
+ } else {
+ printf_spec_t nextspec = Dynarr_atp(specs, i + 1);
+ Lisp_Object obj = largs[spec->argnum - 1];
+
+ if (INTP(obj)) {
+ if (spec->forwarding_precision) {
+ nextspec->precision = XINT(obj);
+ nextspec->minwidth = spec->minwidth;
+ } else {
+ nextspec->minwidth = XINT(obj);
+ if (XINT(obj) < 0) {
+ spec->minus_flag = 1;
+ nextspec->minwidth =
+ -nextspec->minwidth;
+ }