Lines Matching refs:fp
60 Fmtpos_t* fp; /* position array of arguments */ local
67 fp = NIL(Fmtpos_t*);
68 else if(!(fp = sffmtpos(f,form,args,ft,-1)) )
139 if(fp && fp[n].ft.fmt == 0)
140 { fp[n].ft.fmt = LEFTP;
141 fp[n].ft.form = (char*)form;
194 if(fp && fp[n].ft.fmt == 0)
195 { fp[n].ft.fmt = '.';
196 fp[n].ft.size = dot;
197 fp[n].ft.form = (char*)form;
232 if(fp && fp[n].ft.fmt == 0)
233 { fp[n].ft.fmt = 'I';
234 fp[n].ft.size = sizeof(int);
235 fp[n].ft.form = (char*)form;
319 if(fp && fp[argp].ft.fmt == 0)
320 { fp[argp].ft.form = (char*)form;
321 fp[argp].ft.fmt = fp[argp].fmt = fmt;
322 fp[argp].ft.size = size;
323 fp[argp].ft.flags = flags;
324 fp[argp].ft.width = width;
325 fp[argp].ft.precis = precis;
326 fp[argp].ft.base = base;
327 fp[argp].ft.t_str = t_str;
328 fp[argp].ft.n_str = n_str;
330 fp[argp].need[n] = need[n];
334 if(!fp) /* constructing position array only */
335 { if(!dollar || !(fp = (Fmtpos_t*)malloc((maxp+1)*sizeof(Fmtpos_t))) )
338 fp[n].ft.fmt = 0;
339 return fp;
346 { if(fp[n].ft.fmt == 0) /* gap: pretend it's a 'd' pattern */
347 { fp[n].ft.fmt = 'd';
348 fp[n].ft.width = 0;
349 fp[n].ft.precis = 0;
350 fp[n].ft.base = 0;
351 fp[n].ft.size = 0;
352 fp[n].ft.t_str = 0;
353 fp[n].ft.n_str = 0;
354 fp[n].ft.flags = 0;
356 fp[n].need[v] = -1;
360 { fp[n].ft.version = ft->version;
361 fp[n].ft.extf = ft->extf;
362 fp[n].ft.eventf = ft->eventf;
363 if((v = fp[n].need[FP_WIDTH]) >= 0 && v < n)
364 fp[n].ft.width = fp[v].argv.i;
365 if((v = fp[n].need[FP_PRECIS]) >= 0 && v < n)
366 fp[n].ft.precis = fp[v].argv.i;
367 if((v = fp[n].need[FP_BASE]) >= 0 && v < n)
368 fp[n].ft.base = fp[v].argv.i;
369 if((v = fp[n].need[FP_STR]) >= 0 && v < n)
370 fp[n].ft.t_str = fp[v].argv.s;
371 if((v = fp[n].need[FP_SIZE]) >= 0 && v < n)
372 fp[n].ft.size = fp[v].argv.i;
374 memcpy(ft,&fp[n].ft,sizeof(Sffmt_t));
377 v = (*ft->extf)(f, (Void_t*)(&fp[n].argv), ft);
379 memcpy(&fp[n].ft,ft,sizeof(Sffmt_t));
385 if(!(fp[n].ft.flags&SFFMT_VALUE) )
387 else if(_Sftype[fp[n].ft.fmt]&(SFFMT_INT|SFFMT_UINT) )
388 { if(fp[n].ft.size == sizeof(short))
389 { if(_Sftype[fp[n].ft.fmt]&SFFMT_INT)
390 fp[n].argv.i = fp[n].argv.h;
391 else fp[n].argv.i = fp[n].argv.uh;
393 else if(fp[n].ft.size == sizeof(char))
394 { if(_Sftype[fp[n].ft.fmt]&SFFMT_INT)
395 fp[n].argv.i = fp[n].argv.c;
396 else fp[n].argv.i = fp[n].argv.uc;
399 else if(_Sftype[fp[n].ft.fmt]&SFFMT_FLOAT )
400 { if(fp[n].ft.size == sizeof(float) )
401 fp[n].argv.d = fp[n].argv.f;
406 if(fp[n].ft.fmt == LEFTP)
407 { fp[n].argv.s = va_arg(args, char*);
408 fp[n].ft.size = strlen(fp[n].argv.s);
410 else if(fp[n].ft.fmt == '.' || fp[n].ft.fmt == 'I')
411 fp[n].argv.i = va_arg(args, int);
412 else if(fp[n].ft.fmt == '!')
415 fp[n].argv.ft = ft = va_arg(args, Sffmt_t*);
422 fp[n].argv.vp = va_arg(args, Void_t*);
423 else switch(_Sftype[fp[n].ft.fmt])
428 fp[n].argv.ll = va_arg(args, Sflong_t);
432 fp[n].argv.l = va_arg(args, long);
433 else fp[n].argv.i = va_arg(args, int);
438 fp[n].argv.ld = va_arg(args,Sfdouble_t);
441 fp[n].argv.d = va_arg(args,double);
444 fp[n].argv.vp = va_arg(args,Void_t*);
447 if(fp[n].ft.base >= 0)
448 fp[n].argv.s = va_arg(args,char*);
450 else if((fp[n].ft.flags & SFFMT_LONG) ||
451 fp[n].ft.fmt == 'C' )
453 fp[n].argv.wc = (wchar_t)va_arg(args,int);
454 else fp[n].argv.wc = va_arg(args,wchar_t);
458 else fp[n].argv.i = va_arg(args,int);
468 return fp;