コード例 #1
0
ファイル: esig_nat.c プロジェクト: robotology/natural-speech
long
NativeRecordSize(FieldList list)
{
   long size;           /* total array size in bytes */
   FieldSpec    **fld_order;
   long i;
   long fld_size;

   fld_order = FieldOrder(list);

   if (fld_order == NULL)
      return 0;

   size = 0;

   for (i = 0 ; fld_order[i] != NULL; i++)
      {
         if (fld_order[i]->occurrence == OPTIONAL)
            {
               size = -1;
               break;
            }

         fld_size =
            FieldLength(fld_order[i])
            * NativeTypeSize(fld_order[i]->type);

         if (fld_size < 0)
            {
               size = -1;
               break;
            }
         else
            size += fld_size;
      }

   free(fld_order);

   return size;
}
コード例 #2
0
ファイル: esignal.c プロジェクト: RobBullen/AudioMorphing
long
ExternTypeSize(int type,
	       int arch)
{
    switch (arch)
    {
    case EDR1:
	return EdrTypeSize(type, EDR1);
	break;
    case EDR2:
	return EdrTypeSize(type, EDR2);
	break;
    case NATIVE:
	return NativeTypeSize(type);
	break;
    case ASCII:
	return -1;
	break;
    default:
	return -1;
	break;
    }
}