Lines Matching refs:fp
60 Fmtpos_t* fp; /* position array of arguments */
65 fp = NIL(Fmtpos_t*);
66 else if(!(fp = sffmtpos(f,form,args,ft,-1)) )
137 if(fp && fp[n].ft.fmt == 0)
138 { fp[n].ft.fmt = LEFTP;
139 fp[n].ft.form = (char*)form;
192 if(fp && fp[n].ft.fmt == 0)
193 { fp[n].ft.fmt = '.';
194 fp[n].ft.size = dot;
195 fp[n].ft.form = (char*)form;
230 if(fp && fp[n].ft.fmt == 0)
231 { fp[n].ft.fmt = 'I';
232 fp[n].ft.size = sizeof(int);
233 fp[n].ft.form = (char*)form;
317 if(fp && fp[argp].ft.fmt == 0)
318 { fp[argp].ft.form = (char*)form;
319 fp[argp].ft.fmt = fp[argp].fmt = fmt;
320 fp[argp].ft.size = size;
321 fp[argp].ft.flags = flags;
322 fp[argp].ft.width = width;
323 fp[argp].ft.precis = precis;
324 fp[argp].ft.base = base;
325 fp[argp].ft.t_str = t_str;
326 fp[argp].ft.n_str = n_str;
328 fp[argp].need[n] = need[n];
332 if(!fp) /* constructing position array only */
333 { if(!dollar || !(fp = (Fmtpos_t*)malloc((maxp+1)*sizeof(Fmtpos_t))) )
336 fp[n].ft.fmt = 0;
337 return fp;
344 { if(fp[n].ft.fmt == 0) /* gap: pretend it's a 'd' pattern */
345 { fp[n].ft.fmt = 'd';
346 fp[n].ft.width = 0;
347 fp[n].ft.precis = 0;
348 fp[n].ft.base = 0;
349 fp[n].ft.size = 0;
350 fp[n].ft.t_str = 0;
351 fp[n].ft.n_str = 0;
352 fp[n].ft.flags = 0;
354 fp[n].need[v] = -1;
358 { fp[n].ft.version = ft->version;
359 fp[n].ft.extf = ft->extf;
360 fp[n].ft.eventf = ft->eventf;
361 if((v = fp[n].need[FP_WIDTH]) >= 0 && v < n)
362 fp[n].ft.width = fp[v].argv.i;
363 if((v = fp[n].need[FP_PRECIS]) >= 0 && v < n)
364 fp[n].ft.precis = fp[v].argv.i;
365 if((v = fp[n].need[FP_BASE]) >= 0 && v < n)
366 fp[n].ft.base = fp[v].argv.i;
367 if((v = fp[n].need[FP_STR]) >= 0 && v < n)
368 fp[n].ft.t_str = fp[v].argv.s;
369 if((v = fp[n].need[FP_SIZE]) >= 0 && v < n)
370 fp[n].ft.size = fp[v].argv.i;
372 memcpy(ft,&fp[n].ft,sizeof(Sffmt_t));
375 v = (*ft->extf)(f, (Void_t*)(&fp[n].argv), ft);
377 memcpy(&fp[n].ft,ft,sizeof(Sffmt_t));
383 if(!(fp[n].ft.flags&SFFMT_VALUE) )
385 else if(_Sftype[fp[n].ft.fmt]&(SFFMT_INT|SFFMT_UINT) )
386 { if(fp[n].ft.size == sizeof(short))
387 { if(_Sftype[fp[n].ft.fmt]&SFFMT_INT)
388 fp[n].argv.i = fp[n].argv.h;
389 else fp[n].argv.i = fp[n].argv.uh;
391 else if(fp[n].ft.size == sizeof(char))
392 { if(_Sftype[fp[n].ft.fmt]&SFFMT_INT)
393 fp[n].argv.i = fp[n].argv.c;
394 else fp[n].argv.i = fp[n].argv.uc;
397 else if(_Sftype[fp[n].ft.fmt]&SFFMT_FLOAT )
398 { if(fp[n].ft.size == sizeof(float) )
399 fp[n].argv.d = fp[n].argv.f;
404 if(fp[n].ft.fmt == LEFTP)
405 { fp[n].argv.s = va_arg(args, char*);
406 fp[n].ft.size = strlen(fp[n].argv.s);
408 else if(fp[n].ft.fmt == '.' || fp[n].ft.fmt == 'I')
409 fp[n].argv.i = va_arg(args, int);
410 else if(fp[n].ft.fmt == '!')
413 fp[n].argv.ft = ft = va_arg(args, Sffmt_t*);
420 fp[n].argv.vp = va_arg(args, Void_t*);
421 else switch(_Sftype[fp[n].ft.fmt])
426 fp[n].argv.ll = va_arg(args, Sflong_t);
430 fp[n].argv.l = va_arg(args, long);
431 else fp[n].argv.i = va_arg(args, int);
436 fp[n].argv.ld = va_arg(args,Sfdouble_t);
439 fp[n].argv.d = va_arg(args,double);
442 fp[n].argv.vp = va_arg(args,Void_t*);
445 if(fp[n].ft.base >= 0)
446 fp[n].argv.s = va_arg(args,char*);
448 else if((fp[n].ft.flags & SFFMT_LONG) ||
449 fp[n].ft.fmt == 'C' )
451 fp[n].argv.wc = (wchar_t)va_arg(args,int);
452 else fp[n].argv.wc = va_arg(args,wchar_t);
456 else fp[n].argv.i = va_arg(args,int);
466 return fp;