Ejemplo n.º 1
0
unsigned int TA_ReadOpToField( TA_ReadOp readOp )
{
  if( TA_IS_REAL_CMD(readOp) )
  {
     switch( TA_GET_IDX(readOp) )
     {
     case TA_CLOSE_IDX:
        return TA_CLOSE;
     case TA_OPEN_IDX:
        return TA_OPEN;
     case TA_HIGH_IDX:
        return TA_HIGH;
     case TA_LOW_IDX:
        return TA_LOW;
     }
  }
  else if( TA_IS_INTEGER_CMD(readOp) )
  {
     switch( TA_GET_IDX(readOp) )
     {
     case TA_VOLUME_IDX:
        return TA_VOLUME;
     case TA_OPENINTEREST_IDX:
        return TA_OPENINTEREST;
     default:
        return TA_TIMESTAMP;
     }
  }

  TA_FATAL_RET( NULL, readOp, 0, TA_ALL );

  /* Unreachable code:
   * return TA_ALL;
   */
}
Ejemplo n.º 2
0
unsigned int TA_FileIndexIdentifyFileDepth( TA_FileIndexPriv *data )
{
   TA_List *listLocationToken;
   TA_TokenInfo *info;
   unsigned int latestPathPortionDepth;
   unsigned int currentDepth;

   /* Identify the last portion of the path where
    * the directory path is all resolved.
    *
    * It is imperative that the last token be TA_TOK_END.
    */
   listLocationToken = data->listLocationToken;

   info = TA_ListAccessHead( listLocationToken );
   latestPathPortionDepth = 1;
   currentDepth = 0;
   while( info )
   {
      currentDepth++;

      if( info->id == TA_TOK_END )
         return latestPathPortionDepth;
      if( info->id == TA_TOK_SEP )
         latestPathPortionDepth = currentDepth;

      info = TA_ListAccessNext( listLocationToken );
   }

   /* Should never get here. */
   TA_FATAL_RET( data->libHandle, NULL, currentDepth, latestPathPortionDepth, 0 );
}
Ejemplo n.º 3
0
unsigned int TA_TokenMaxSize( TA_Libc *libHandle, TA_TokenId id )
{
   /* NOTE: The following data structure MUST correspond exactly to the
    *       TA_TokenId enumeration order!
    */

   /* Zero indicates that the size is not pre-determined. */

   static int tokenSize[] =
   {
      0, /* TA_TOK_FIX */

      4, /* TA_TOK_YYYY */
      2, /* TA_TOK_YY   */
      0, /* TA_TOK_Y    */

      0, /* TA_TOK_M   */
      2, /* TA_TOK_MM  */
      3, /* TA_TOK_MMM */

      0, /* TA_TOK_D */
      2, /* TA_TOK_DD */

      0, /* TA_TOK_CAT */
      0, /* TA_TOK_CATC */
      0, /* TA_TOK_CATX */
      0, /* TA_TOK_CATT */

      0, /* TA_TOK_SYM */
      0, /* TA_TOK_SYMF */
      1, /* TA_TOK_SEP */

      0, /* TA_TOK_WILD */
      1, /* TA_TOK_WILD_CHAR */

      0, /* TA_TOK_OPEN */
      0, /* TA_TOK_HIGH */
      0, /* TA_TOK_LOW */
      0, /* TA_TOK_CLOSE */
      0, /* TA_TOK_VOLUME */
      0, /* TA_TOK_OPENINTEREST */

      0, /* TA_TOK_HOUR */
      0, /* TA_TOK_MIN */
      0, /* TA_TOK_SEC */

      2, /* TA_TOK_HH */
      2, /* TA_TOK_MN */
      2, /* TA_TOK_SS */

      0,   /* TA_TOK_SKIP_REAL */
      0,   /* TA_TOK_SKIP_INTEGER */
      0,   /* TA_TOK_SKIP_N_CHAR */
      0,   /* TA_TOK_SKIP_N_HEADER_LINE */


      0, /* TA_END */
   };

   /* Note: 0 means unspecified number of character (wild) */

   if( (id == TA_INVALID_TOKEN_ID) || (id < 0) )
   {
      TA_FATAL_RET( libHandle, NULL, id, TA_INVALID_TOKEN_ID, 0 );
   }

   return tokenSize[id];
}