Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. unsigned int GetNextParam()
  2. {
  3.         byte    kavichki = false;
  4.         int             i = strlen(#tagparam) - 1;
  5.        
  6.         if (!tagparam) return 0;
  7.        
  8.         WHILE((i > 0) && ((tagparam[i] == '"') || (tagparam[i] == ' ') || (tagparam[i] == '\'') || (tagparam[i] == '/')))
  9.         {
  10.                 IF (tagparam[i] == '"') || (tagparam[i] == '\'') kavichki=tagparam[i];
  11.                 tagparam[i] = 0x00;
  12.                 i--;
  13.         }
  14.  
  15.         if (kavichki)
  16.         {
  17.                 i=strrchr(#tagparam, kavichki);
  18.                 if (i>sizeof(options))
  19.                         strcpy(#options, #tagparam + sizeof(options));
  20.                 else
  21.                         strcpy(#options, #tagparam + i);
  22.         }
  23.         else
  24.         {
  25.                 WHILE((i > 0) && (tagparam[i] <>'=')) i--; //i=strrchr(#tagparam, '=')+1;
  26.                 i++;
  27.                 if (i>sizeof(options))
  28.                         strcpy(#options, #tagparam + sizeof(options));
  29.                 else
  30.                         strcpy(#options, #tagparam + i);
  31.  
  32.                 WHILE (options[0] == ' ') strcpy(#options, #options+1);
  33.         }
  34.         tagparam[i] = 0x00;
  35.  
  36.         FOR ( ; ((tagparam[i] <>' ') && (i > 0); i--)
  37.         {
  38.                 IF (tagparam[i] == '=') //äåðçêàÿ çàãëóøêà
  39.                         tagparam[i + 1] = 0x00;
  40.         }
  41.  
  42.         if (i>sizeof(parametr))
  43.                 strcpy(#parametr, #tagparam + sizeof(parametr));
  44.         else
  45.                 strcpy(#parametr, #tagparam + i + 1);
  46.  
  47.         tagparam[i] = 0x00;
  48.        
  49.         return 1;
  50. }