コード例 #1
0
static int insert_var(RStr *output, FmtInfo *fi, int pn)
{
  switch(fi->cvt_spec)
  {
   case 'm':
    expanding_strcat(output,tf_mipname()); /* calling module */
    break;
   case 't':
    expanding_strcat(output,tf_strgettime()); /* current simulator time */
    break;
   case '%':
    expanding_strcat(output,"%"); /* percent sign */
    break;
   default:
    /* don't need this check if checktf errors */
    if(strchr(has_nfld,fi->cvt_spec))
    {
      char *text;
      /* translate x's to h's for hex; NC segfaults if you don't */
      if(fi->cvt_spec=='x')
	fi->cvt_spec='h';
      if(fi->cvt_spec=='X')
	fi->cvt_spec='H';
      text= format_val(fi,
		       fi->cvt_spec=='s' ? tf_getcstringp(pn) :
		       tf_strgetp(pn,fi->cvt_spec));
      expanding_strcat(output,text);
      free(text);
      pn++;
    }
  }
  return pn;
}
コード例 #2
0
ファイル: elib.c プロジェクト: CSE-Gulliver/tinyos-2.x
/**
 * @fn int _printf(const char *format, ...)
 * @brief Prints a formatted string on UART1
 *
 * @param format The string
 */
int _printf(const char *format, ...)
{
   int format_cntr=0;
   char temp_str[20];
   int return_flag=0,cntr_val;
   long double f1,f2;
   char *str_temp;
   int *cntr=&cntr_val;

   va_list ap;
   va_start(ap, format);
   *cntr=0;
   while(*format) {
     temp_str[format_cntr]='\0';
     if(*format=='%')
     {
       *format++;
       while(*format==' ')
       {
	 format++;
	 _putchar(' ');
       }
       while(condition)

       {
	 temp_str[format_cntr++]=*format++;
       }
       temp_str[format_cntr]='\0';
       if(*format=='%')
       {
	 _putchar('%');
	 (*cntr)++;
	 format_cntr=0;
	 format++;
	 continue;
       }

       /************** print unsigned ****************/
       else if(*format=='u')
       {
	 return_flag=format_val(temp_str,0,cntr,0);
	 if(return_flag!=-1)

	   print_hex_oct(va_arg(ap,unsigned int),10,0,return_flag,0,cntr);

	 else
	 {
	   _putchar(*format);
	   (*cntr)++;
	 }
	 format++;
	 format_cntr=0;
	 continue;
       }
コード例 #3
0
CAMLprim value ocaml_gstreamer_appsrc_set_format(value _as, value _fmt)
{
  CAMLparam2(_as, _fmt);
  appsrc *as = Appsrc_val(_as);
  GstFormat fmt = format_val(_fmt);

  caml_release_runtime_system();
  g_object_set(G_OBJECT(as->appsrc), "format", fmt, NULL);
  caml_acquire_runtime_system();

  CAMLreturn(Val_unit);
}
コード例 #4
0
CAMLprim value ocaml_gstreamer_element_duration(value _e, value _fmt)
{
  CAMLparam2(_e, _fmt);
  GstElement *e = Element_val(_e);
  GstFormat fmt = format_val(_fmt);
  gint64 dur;
  gboolean ret;

  caml_release_runtime_system();
  ret = gst_element_query_duration(e, fmt, &dur);
  caml_acquire_runtime_system();

  if (!ret) caml_raise_constant(*caml_named_value("gstreamer_exn_failure"));
  CAMLreturn(caml_copy_int64(dur));
}
コード例 #5
0
ファイル: node.c プロジェクト: OS2World/DEV-UTIL-gawk
NODE *
r_force_string(register NODE *s)
{
	NODE *ret;
#ifdef GAWKDEBUG
	if (s == NULL)
		cant_happen();
	if (s->type != Node_val)
		cant_happen();
	if (s->stref <= 0)
		cant_happen();
	if ((s->flags & STR) != 0
	    && (s->stfmt == -1 || s->stfmt == CONVFMTidx))
		return s;
#endif

	ret = format_val(CONVFMT, CONVFMTidx, s);
	return ret;
}
コード例 #6
0
CAMLprim value ocaml_gstreamer_element_seek_simple(value _e, value _fmt, value _flags, value _pos)
{
  CAMLparam4(_e, _fmt, _flags, _pos);
  GstElement *e = Element_val(_e);
  GstFormat fmt = format_val(_fmt);
  GstSeekFlags flags = 0;
  gint64 pos = Int64_val(_pos);
  gboolean ret;
  int i;

  for (i = 0; i < Wosize_val(_flags); i++)
    flags |= seek_flags_val(Field(_flags,i));

  caml_release_runtime_system();
  ret = gst_element_seek_simple(e, fmt, flags, pos);
  caml_acquire_runtime_system();

  if (!ret) caml_raise_constant(*caml_named_value("gstreamer_exn_failure"));
  CAMLreturn(Val_unit);
}
コード例 #7
0
CAMLprim value ocaml_gstreamer_format_to_string(value _f)
{
  GstFormat f = format_val(_f);
  return caml_copy_string(gst_format_get_name(f));
}