Subversion Repositories SvarDOS

Rev

Rev 2041 | Rev 2044 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2041 Rev 2042
Line 309... Line 309...
309
 else a network give \\server\share and LFN getVol unsupported, assume failed 0, as the
309
 else a network give \\server\share and LFN getVol unsupported, assume failed 0, as the
310
   original findfirst/next I haven't seen support UNC naming, clear serial and volume.
310
   original findfirst/next I haven't seen support UNC naming, clear serial and volume.
311
*** Currently trying to find a way to get a \\server\share 's serial & volume if LFN available ***
311
*** Currently trying to find a way to get a \\server\share 's serial & volume if LFN available ***
312
*/
312
*/
313
 
313
 
314
/* Only the 1st 4 arguments are used, returns zero on failure,
-
 
315
 * If lpRootPathName is NULL or "" we use current default drive.
314
/* returns zero on failure, if lpRootPathName is NULL or "" we use current
316
 */
-
 
317
#pragma argsused
315
 * default drive. */
318
int GetVolumeInformation(char *lpRootPathName,char *lpVolumeNameBuffer,
316
int GetVolumeInformation(const char *lpRootPathName, char *lpVolumeNameBuffer,
319
  DWORD nVolumeNameSize, DWORD *lpVolumeSerialNumber,
317
  DWORD nVolumeNameSize, DWORD *lpVolumeSerialNumber) {
320
  DWORD *lpMaximumComponentLength, DWORD *lpFileSystemFlags,
-
 
321
  char *lpFileSystemNameBuffer, DWORD nFileSystemNameSize)
-
 
322
{
318
 
323
  /* File info for getting  Volume Label (using directory entry) */
319
  /* File info for getting  Volume Label (using directory entry) */
324
  struct FFDTA finfo;
320
  struct FFDTA finfo;
325
 
321
 
326
  /* Using DOS interrupt to get serial number */
322
  /* Using DOS interrupt to get serial number */
327
  struct media_info
323
  struct media_info
Line 360... Line 356...
360
      INC BX
356
      INC BX
361
      MOV BYTE PTR [BX], '\'  //; and the \ (this gets converted correctly as a single \
357
      MOV BYTE PTR [BX], '\'  //; and the \ (this gets converted correctly as a single \
362
      INC BX
358
      INC BX
363
      MOV BYTE PTR [BX], 0    //; Most importantly the '\0' terminator
359
      MOV BYTE PTR [BX], 0    //; Most importantly the '\0' terminator
364
    }
360
    }
365
  }
-
 
366
  else
361
  } else {
367
    strcpy(pathname, lpRootPathName);
362
    strcpy(pathname, lpRootPathName);
-
 
363
  }
368
 
364
 
369
  /* Flag indicate if using LFN DOS or not */
365
  /* Flag indicate if using LFN DOS or not */
370
  if (LFN_Enable_Flag)
366
  if (LFN_Enable_Flag)
371
  {
367
  {
372
    asm {
368
    asm {