Lines Matching refs:si

2093     UINT di, si, nc;  local
2096 si = SZDIRE * 2; /* 1st C1 entry */
2099 if (si >= MAXDIRB(FF_MAX_LFN)) { di = 0; break; } /* Truncated directory block? */
2100 if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */
2101 wc = ld_word(dirb + si); si += 2; nc++; /* Get a character */
2620 UINT si, di; local
2642 si = di = hs = 0;
2643 while (fs->lfnbuf[si] != 0) {
2644 wc = fs->lfnbuf[si++]; /* Get an LFN character (UTF-16) */
2658 si = di = 0;
2659 while (si < 11) { /* Get SFN from SFN entry */
2660 wc = dp->dir[si++]; /* Get a char */
2663 … if (si == 9 && di < FF_SFN_BUF) fno->altname[di++] = '.'; /* Insert a . if extension is exist */
2665 … if (dbc_1st((BYTE)wc) && si != 8 && si != 11 && dbc_2nd(dp->dir[si])) { /* Make a DBC if needed */
2666 wc = wc << 8 | dp->dir[si++];
2683 …for (si = di = 0, lcf = NS_BODY; fno->altname[si]; si++, di++) { /* Copy altname[] to fname[] with…
2684 wc = (WCHAR)fno->altname[si];
2695 si = di = 0;
2696 while (si < 11) { /* Copy name body and extension */
2697 c = (TCHAR)dp->dir[si++];
2700 if (si == 9) fno->fname[di++] = '.';/* Insert a . if extension is exist */
2808 UINT i, ni, si, di; local
2848 for (si = 0; lfn[si] == ' '; si++) ; /* Remove leading spaces */
2849 if (si > 0 || lfn[si] == '.') cf |= NS_LOSS | NS_LFN; /* Is there any leading space or dot? */
2855 wc = lfn[si++]; /* Get an LFN character */
2857 if (wc == ' ' || (wc == '.' && si != di)) { /* Remove embedded spaces and dots */
2862 if (i >= ni || si == di) { /* End of field? */
2867 if (si != di) cf |= NS_LOSS | NS_LFN; /* Name body overflow? */
2868 if (si > di) break; /* No name extension? */
2869 si = di; i = 8; ni = 11; b <<= 2; /* Enter name extension */
2927 UINT ni, si, i;
2933 si = i = 0; ni = 8;
2935 if (p[si] == '.') { /* Is this a dot entry? */
2937 c = (BYTE)p[si++];
2938 if (c != '.' || si >= 3) break;
2942 *path = p + si; /* Return pointer to the next segment */
2948 c = (BYTE)p[si++]; /* Get a byte */
2951 while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */
2969 d = (BYTE)p[si++]; /* Get 2nd byte */
2979 *path = p + si; /* Return pointer to the next segment */
5016 UINT si, di; local
5033 …for (si = di = hs = 0; si < dj.dir[XDIR_NumLabel]; si++) { /* Extract volume label from 83 entry …
5034 wc = ld_word(dj.dir + XDIR_Label + si * 2);
5048 si = di = 0; /* Extract volume label from AM_VOL entry */
5049 while (si < 11) {
5050 wc = dj.dir[si++];
5052 … if (dbc_1st((BYTE)wc) && si < 11) wc = wc << 8 | dj.dir[si++]; /* Is it a DBC? */
5478 WCHAR ch, si; local
5507 st = 0; si = 0; i = 0; j = 0; szb_case = 0;
5511 ch = (WCHAR)ff_wtoupper(si); /* Get an up-case char */
5512 if (ch != si) {
5513 si++; break; /* Store the up-case char if exist */
5515 …for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run…
5522 ch = si++; /* Fill the short run */
5527 ch = (WCHAR)j; si += (WCHAR)j; /* Number of chars to skip */
5533 … if (si == 0 || i == szb_buf) { /* Write buffered data when buffer full or end of process */
5538 } while (si);