[Mono-list] Simple code - differences in output between mono & .Net

jonathan.cooper@syntegra.com jonathan.cooper@syntegra.com
Wed, 3 Mar 2004 15:13:31 -0000


This is a multi-part message in MIME format.

------_=_NextPart_001_01C40132.16EF7662
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

I would assume that the GetLogicalDrives() method on linux would require
returning the mount points, as these can then be enumerated as necessary -
for e.g. /dev/cdrom, /dev/usbdrive etc. This approach seems much more usable
from a development perspective than just returning the root.

	-----Original Message-----
	From: Nick Berardi [mailto:nberardi@zigamorph.com]=20
	Sent: 03 March 2004 15:11
	To: COOPER, Jonathan -Syntegra UK; mono-list@lists.ximian.com
	Subject: RE: [Mono-list] Simple code - differences in output between
mono & .Net
=09
=09

	I guess logical drives in Linux is just the root.  But I would think
that they would include the mount points in here?  Don't you think?  Because
basically that is all that a Windows Drive is.  A mounted partition.

	=20

	Anybody on the list disagree?

	=20

=09
  _____ =20


	From: jonathan.cooper@syntegra.com
[mailto:jonathan.cooper@syntegra.com]=20
	Sent: Wednesday, March 03, 2004 9:57 AM
	To: nberardi@zigamorph.com; mono-list@lists.ximian.com
	Subject: RE: [Mono-list] Simple code - differences in output between
mono & .Net

	=20

	Ah, that would explain it.

	=20

	Shall I continue with the bug submission?

		-----Original Message-----
		From: Nick Berardi [mailto:nberardi@zigamorph.com]=20
		Sent: 03 March 2004 14:55
		To: COOPER, Jonathan -Syntegra UK; mono-list@lists.ximian.com
		Subject: RE: [Mono-list] Simple code - differences in output
between mono & .Net

		I was right here is your problem:

		=20

		=20
		                [MonoTODO("Implement on windows, for real")]
		                public static string[] GetLogicalDrives ()
		                {=20
		                        //FIXME: Hardcoded Paths
		                        if
((int)Environment.OSVersion.Platform =3D=3D 128)
		                                return new string[] { "/" };
		                        else
		                                return new string [] {
"A:\\", "C:\\" };
		                }

		=20

		=20

	=09
  _____ =20


		From: mono-list-admin@lists.ximian.com
[mailto:mono-list-admin@lists.ximian.com] On Behalf Of
jonathan.cooper@syntegra.com
		Sent: Wednesday, March 03, 2004 9:32 AM
		To: mono-list@lists.ximian.com
		Subject: [Mono-list] Simple code - differences in output
between mono & .Net

		=20

		I have code (at the end of this message) in a .cs file,
compiled with mcs and csc on Windows XP. When compiled with either compiler
the executable works on both runtimes (.Net and mono). However, the output =
is
different.

		Run under .Net:=20
		------------------------=20
		Disk:  A:\=20
		Disk:  C:\=20
		Disk:  D:\=20
		Disk:  K:\=20
		Disk:  L:\=20
		Disk:  Q:\=20
		Disk:  T:\=20
		Disk:  U:\=20
		Disk:  X:\=20
		c:\=20
		Dir:  c:\Compaq=20
		Dir:  c:\Config.Msi=20
		Dir:  c:\Documents and Settings=20
		Dir:  c:\Program Files=20
		Dir:  c:\RECYCLER=20
		Dir:  c:\System Volume Information=20
		Dir:  c:\WINNT=20

		=20

		Basically the contents of the root c:\ drive=20

		Run under mono:=20
		--------------------------=20
		Disk:  A:\=20
		Disk:  C:\=20
		c:\=20
		>> a list of directories in the current directory rather than
the root c:\ <<=20

		Is this due to an incomplete feature, or am I missing
something?=20

		Thanks in advance,=20
		Jon Cooper=20

		=20

		------------------------ CODE in drives.cs
------------------------=20

		using System;=20
		using System.IO;=20

		namespace test=20
		{=20
		   class test=20
		   {=20
		      [STAThread]=20
		      static void Main(string[] args)=20
		      {=20
		         string[] s =3D Directory.GetLogicalDrives();=20
		         foreach(string drive in s)=20
		            Console.WriteLine("Disk:  {0}",drive);=20

		         string mydrive =3D Console.ReadLine();=20

		         if(mydrive.Length !=3D 0)=20
		         {=20
		           foreach(string d in
Directory.GetDirectories(mydrive))=20
		              Console.WriteLine("Dir:  {0}",d);=20

		           Console.Read();  //pause=20
		         }=20
		      }=20
		   }=20
		}=20

	=09
	=09
=09
********************************************************************
	=09
		This email may contain information which is privileged or
confidential. If you are not the intended recipient of this email, please
notify the sender immediately and delete it without reading, copying,
storing, forwarding or disclosing its contents to any other person
		Thank you
	=09
		Check us out at http://www.syntegra.com
	=09
=09
********************************************************************

=09
=09
	********************************************************************
=09
	This email may contain information which is privileged or
confidential. If you are not the intended recipient of this email, please
notify the sender immediately and delete it without reading, copying,
storing, forwarding or disclosing its contents to any other person
	Thank you
=09
	Check us out at http://www.syntegra.com
=09
	********************************************************************



********************************************************************

This email may contain information which is privileged or confidential. If =
you are not the intended recipient of this email, please notify the sender =
immediately and delete it without reading, copying, storing, forwarding or =
disclosing its contents to any other person
Thank you

Check us out at http://www.syntegra.com

********************************************************************


------_=_NextPart_001_01C40132.16EF7662
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns=3D"http://www.w3.org/TR/REC-html40" xmlns:v =3D=20
"urn:schemas-microsoft-com:vml" xmlns:o =3D=20
"urn:schemas-microsoft-com:office:office" xmlns:w =3D=20
"urn:schemas-microsoft-com:office:word" xmlns:st1 =3D=20
"urn:schemas-microsoft-com:office:smarttags"><HEAD><TITLE>Message</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.2800.1276" name=3DGENERATOR><!--[if !mso]>
<STYLE>v\:* {
	BEHAVIOR: url(#default#VML)
}
o\:* {
	BEHAVIOR: url(#default#VML)
}
w\:* {
	BEHAVIOR: url(#default#VML)
}
.shape {
	BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]--><o:SmartTagType name=3D"place"=20
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"></o:SmartTagTyp=
e><o:SmartTagType=20
name=3D"PersonName"=20
namespaceuri=3D"urn:schemas-microsoft-com:office:smarttags"></o:SmartTagTyp=
e><!--[if !mso]>
<STYLE>st1\:* {
	BEHAVIOR: url(#default#ieooui)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
	font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
	COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
	COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
	COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
	COLOR: purple; TEXT-DECORATION: underline
}
P {
	FONT-SIZE: 12pt; MARGIN-LEFT: 0in; MARGIN-RIGHT: 0in; FONT-FAMILY: "Times =
New Roman"; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto
}
CODE {
	FONT-FAMILY: "Courier New"
}
PRE {
	FONT-SIZE: 10pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Courier New"
}
SPAN.EmailStyle20 {
	COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle21 {
	COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
	page: Section1
}
</STYLE>
</HEAD>
<BODY lang=3DEN-US vLink=3Dpurple link=3Dblue>
<DIV><SPAN class=3D918531115-03032004><FONT face=3DArial color=3D#0000ff si=
ze=3D2>I=20
would assume that the GetLogicalDrives() method on linux would require retu=
rning=20
the mount points, as these can then be enumerated as necessary - for e.g.=
 /dev/cdrom, /dev/usbdrive&nbsp;etc. This approach seems much more usable f=
rom a=20
development perspective than just returning the root.</FONT></SPAN></DIV>
<BLOCKQUOTE dir=3Dltr style=3D"MARGIN-RIGHT: 0px">
  <DIV></DIV>
  <DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr align=3Dleft><FO=
NT=20
  face=3DTahoma size=3D2>-----Original Message-----<BR><B>From:</B> Nick Be=
rardi=20
  [mailto:nberardi@zigamorph.com] <BR><B>Sent:</B> 03 March 2004=20
  15:11<BR><B>To:</B> COOPER, Jonathan -Syntegra UK;=20
  mono-list@lists.ximian.com<BR><B>Subject:</B> RE: [Mono-list] Simple code=
 -=20
  differences in output between mono &amp; .Net<BR><BR></FONT></DIV>
  <DIV class=3DSection1>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">I guess logica=
l=20
  drives in Linux is just the root.&nbsp; But I would think that they would=
   include the mount points in here?&nbsp; Don&#8217;t you think?&nbsp; Bec=
ause=20
  basically that is all that a Windows Drive is.&nbsp; A mounted=20
  partition.<o:p></o:p></SPAN></FONT></P>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o=
:p></SPAN></FONT></P>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">Anybody on the=
 list=20
  disagree?<o:p></o:p></SPAN></FONT></P>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;</o=
:p></SPAN></FONT></P>
  <DIV>
  <DIV class=3DMsoNormal style=3D"TEXT-ALIGN: center" align=3Dcenter><FONT=
   face=3D"Times New Roman" size=3D3><SPAN style=3D"FONT-SIZE: 12pt">
  <HR tabIndex=3D-1 align=3Dcenter width=3D"100%" SIZE=3D2>
  </SPAN></FONT></DIV>
  <P class=3DMsoNormal><B><FONT face=3DTahoma size=3D2><SPAN=20
  style=3D"FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:</=
SPAN></FONT></B><FONT=20
  face=3DTahoma size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Tahom=
a">=20
  jonathan.cooper@syntegra.com [mailto:jonathan.cooper@syntegra.com]=20
  <BR><B><SPAN style=3D"FONT-WEIGHT: bold">Sent:</SPAN></B> Wednesday, Marc=
h 03,=20
  2004 9:57 AM<BR><B><SPAN style=3D"FONT-WEIGHT: bold">To:</SPAN></B>=20
  <st1:PersonName=20
  style=3D"BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://ie=
tag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"=20
  w:st=3D"on">nberardi@zigamorph.com</st1:PersonName>;=20
  mono-list@lists.ximian.com<BR><B><SPAN=20
  style=3D"FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [Mono-list] Simple co=
de -=20
  differences in output between mono &amp;=20
  .Net</SPAN></FONT><o:p></o:p></P></DIV>
  <P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
  style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <DIV>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dblue size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Ah, that would=
   explain it.</SPAN></FONT><o:p></o:p></P></DIV>
  <DIV>
  <P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
  style=3D"FONT-SIZE: 12pt">&nbsp;<o:p></o:p></SPAN></FONT></P></DIV>
  <DIV>
  <P class=3DMsoNormal><FONT face=3DArial color=3Dblue size=3D2><SPAN=20
  style=3D"FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: Arial">Shall I contin=
ue with=20
  the bug submission?</SPAN></FONT><o:p></o:p></P></DIV>
  <BLOCKQUOTE style=3D"MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt; MARGIN-RIGHT: 0=
in">
    <P class=3DMsoNormal style=3D"MARGIN-BOTTOM: 12pt"><FONT face=3DTahoma=
     size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">-----Ori=
ginal=20
    Message-----<BR><B><SPAN style=3D"FONT-WEIGHT: bold">From:</SPAN></B> N=
ick=20
    Berardi [mailto:<st1:PersonName=20
    style=3D"BACKGROUND-POSITION: left bottom; BACKGROUND-IMAGE: url(res://=
ietag.dll/#34/#1001); BACKGROUND-REPEAT: repeat-x"=20
    w:st=3D"on">nberardi@zigamorph.com</st1:PersonName>] <BR><B><SPAN=20
    style=3D"FONT-WEIGHT: bold">Sent:</SPAN></B> 03 March 2004 14:55<BR><B>=
<SPAN=20
    style=3D"FONT-WEIGHT: bold">To:</SPAN></B> COOPER, Jonathan -Syntegra U=
K;=20
    mono-list@lists.ximian.com<BR><B><SPAN=20
    style=3D"FONT-WEIGHT: bold">Subject:</SPAN></B> RE: [Mono-list] Simple =
code -=20
    differences in output between mono &amp; .Net</SPAN></FONT><o:p></o:p><=
/P>
    <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">I was right =
here is=20
    your problem:<o:p></o:p></SPAN></FONT></P>
    <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;<=
/o:p></SPAN></FONT></P><PRE><FONT face=3D"Courier New" size=3D2><SPAN style=
=3D"FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></FONT></PRE><PRE><FONT face=
=3D"Courier New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt"> &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;[MonoTODO("Implement on windows, for=
 real")]<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face=3D"Courier New" size=
=3D2><SPAN style=3D"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp;public static string[] GetLogicalDrives ()<o:p></o:p></SP=
AN></FONT></PRE><PRE><FONT face=3D"Courier New" size=3D2><SPAN style=3D"FON=
T-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ <o:=
p></o:p></SPAN></FONT></PRE><PRE><FONT face=3D"Courier New" size=3D2><SPAN =
style=3D"FONT-SIZE: 10pt">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;//FIXME: Hardcoded Paths<o:p></o:p>=
</SPAN></FONT></PRE><PRE><FONT face=3D"Courier New" size=3D2><SPAN style=3D=
"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;if ((int)Environment.OSVersion.Platform =3D=3D 1=
28)<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face=3D"Courier New" size=3D2>=
<SPAN style=3D"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return=
 new string[] { "/" };<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face=3D"Cou=
rier New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else<o:p></o:p>=
</SPAN></FONT></PRE><PRE><FONT face=3D"Courier New" size=3D2><SPAN style=3D=
"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return new string []=
 { "A:\\", "C:\\" };<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face=3D"Couri=
er New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt"> &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp;}<o:p></o:p></SPAN></FONT></PRE>
    <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;<=
/o:p></SPAN></FONT></P>
    <P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial"><o:p>&nbsp;<=
/o:p></SPAN></FONT></P>
    <DIV>
    <DIV class=3DMsoNormal style=3D"TEXT-ALIGN: center" align=3Dcenter><FON=
T=20
    face=3D"Times New Roman" size=3D3><SPAN style=3D"FONT-SIZE: 12pt">
    <HR tabIndex=3D-1 align=3Dcenter width=3D"100%" SIZE=3D2>
    </SPAN></FONT></DIV>
    <P class=3DMsoNormal><B><FONT face=3DTahoma size=3D2><SPAN=20
    style=3D"FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: Tahoma">From:=
</SPAN></FONT></B><FONT=20
    face=3DTahoma size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Tah=
oma">=20
    mono-list-admin@lists.ximian.com [mailto:mono-list-admin@lists.ximian.c=
om]=20
    <B><SPAN style=3D"FONT-WEIGHT: bold">On Behalf Of=20
    </SPAN></B>jonathan.cooper@syntegra.com<BR><B><SPAN=20
    style=3D"FONT-WEIGHT: bold">Sent:</SPAN></B> Wednesday, March 03, 2004 =
9:32=20
    AM<BR><B><SPAN style=3D"FONT-WEIGHT: bold">To:</SPAN></B>=20
    mono-list@lists.ximian.com<BR><B><SPAN=20
    style=3D"FONT-WEIGHT: bold">Subject:</SPAN></B> [Mono-list] Simple code=
 -=20
    differences in output between mono &amp;=20
    .Net</SPAN></FONT><o:p></o:p></P></DIV>
    <P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">I have code (at the end o=
f this=20
    message) in a .cs file, compiled with mcs and csc on Windows XP. When=
     compiled with either compiler the executable works on both runtimes (.=
Net=20
    and mono). However, the output is different.</SPAN></FONT><o:p></o:p></=
P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Run under .Net:</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">------------------------<=
/SPAN></FONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; A:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; C:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; D:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; K:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; L:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; Q:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; T:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; U:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; X:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">c:\</SPAN></FONT> <BR><FO=
NT=20
    face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp;=20
    c:\Compaq</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp;=20
    c:\Config.Msi</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp; c:\Documents a=
nd=20
    Settings</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp; c:\Program=20
    Files</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp;=20
    c:\RECYCLER</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp; c:\System Volu=
me=20
    Information</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Dir:&nbsp;=20
    c:\WINNT</SPAN></FONT> <o:p></o:p></P>
    <P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Basically the contents of=
 the=20
    root c:\ drive</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Run under mono:</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">-------------------------=
-</SPAN></FONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; A:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Disk:&nbsp; C:\</SPAN></F=
ONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">c:\</SPAN></FONT> <BR><FO=
NT=20
    face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Aria=
l">&gt;&gt;=20
    a list of directories in the current directory rather than the root c:\=
     &lt;&lt;</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Is this due to an incompl=
ete=20
    feature, or am I missing something?</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Thanks in advance,</SPAN>=
</FONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Jon Cooper</SPAN></FONT>=
     <o:p></o:p></P>
    <P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">------------------------ =
CODE in=20
    drives.cs ------------------------</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">using System;</SPAN></FON=
T>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">using System.IO;</SPAN></=
FONT>=20
    <o:p></o:p></P>
    <P><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">namespace test</SPAN></FO=
NT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">{ </SPAN></FONT><BR><FONT=
     face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; class=20
    test</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; {</SPAN></FO=
NT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
    [STAThread]</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
    static void <st1:place w:st=3D"on">Main</st1:place>(string[] args)=20
    </SPAN></FONT><BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
    {</SPAN></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FO=
NT=20
    face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Aria=
l">=20
    string[] s =3D Directory.GetLogicalDrives();</SPAN></FONT>=20
    <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=3DArial=
     size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"> foreach(=
string=20
    drive in s)</SPAN></FONT> <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;=20
    <FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;=20
    Console.WriteLine("Disk:&nbsp; {0}",drive);</SPAN></FONT> <o:p></o:p></=
P>
    <P><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;</SPAN></FONT><FONT=20
    face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Aria=
l"> string=20
    mydrive =3D Console.ReadLine();</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;</SPAN></FONT><FONT=20
    face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Aria=
l">=20
    if(mydrive.Length !=3D 0)</SPAN></FONT>=20
    <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=3DArial=
     size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"> {</SPAN>=
</FONT>=20
    <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT face=3DArial size=
=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; foreach(stri=
ng d in=20
    Directory.GetDirectories(mydrive))</SPAN></FONT>=20
    <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT face=3DArial size=
=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
    Console.WriteLine("Dir:&nbsp; {0}",d);</SPAN></FONT> <o:p></o:p></P>
    <P><FONT face=3D"Times New Roman" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
    </SPAN></FONT><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;=20
    Console.Read();&nbsp; //pause</SPAN></FONT>=20
    <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<FONT face=3DArial=
     size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial"> }</SPAN>=
</FONT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;=20
    }</SPAN></FONT> <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp; }</SPAN></FO=
NT>=20
    <BR><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">}</SPAN></FONT> <o:p></o:=
p></P>
    <P class=3DMsoNormal><FONT face=3D"Courier New" size=3D3><SPAN=20
    style=3D"FONT-SIZE: 12pt; FONT-FAMILY: 'Courier New'"><BR><BR></SPAN></=
FONT><CODE><FONT=20
    face=3D"Courier New" size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt">*********************************************=
***********************</SPAN></FONT></CODE><FONT=20
    face=3D"Courier New"><SPAN=20
    style=3D"FONT-FAMILY: 'Courier New'"><BR><BR></SPAN></FONT><CODE><FONT=
     face=3D"Courier New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt">This ema=
il may=20
    contain information which is privileged or confidential. If you are not=
 the=20
    intended recipient of this email, please notify the sender immediately =
and=20
    delete it without reading, copying, storing, forwarding or disclosing i=
ts=20
    contents to any other person</SPAN></FONT></CODE><FONT=20
    face=3D"Courier New"><SPAN=20
    style=3D"FONT-FAMILY: 'Courier New'"><BR></SPAN></FONT><CODE><FONT=20
    face=3D"Courier New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt">Thank=20
    you</SPAN></FONT></CODE><FONT face=3D"Courier New"><SPAN=20
    style=3D"FONT-FAMILY: 'Courier New'"><BR><BR></SPAN></FONT><CODE><FONT=
     face=3D"Courier New" size=3D2><SPAN style=3D"FONT-SIZE: 10pt">Check us=
 out at=20
    http://www.syntegra.com</SPAN></FONT></CODE><FONT face=3D"Courier New">=
<SPAN=20
    style=3D"FONT-FAMILY: 'Courier New'"><BR><BR></SPAN></FONT><CODE><FONT=
     face=3D"Courier New" size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt">*********************************************=
***********************</SPAN></FONT></CODE><o:p></o:p></P></BLOCKQUOTE>
  <P class=3DMsoNormal><FONT face=3D"Courier New" size=3D3><SPAN=20
  style=3D"FONT-SIZE: 12pt; FONT-FAMILY: 'Courier New'"><BR><BR><CODE><FONT=
   face=3D"Courier New">***************************************************=
*****************</FONT></CODE><BR><BR><CODE><FONT=20
  face=3D"Courier New">This email may contain information which is privileg=
ed or=20
  confidential. If you are not the intended recipient of this email, please=
   notify the sender immediately and delete it without reading, copying, st=
oring,=20
  forwarding or disclosing its contents to any other=20
  person</FONT></CODE><BR><CODE><FONT face=3D"Courier New">Thank=20
  you</FONT></CODE><BR><BR><CODE><FONT face=3D"Courier New">Check us out at=
   http://www.syntegra.com</FONT></CODE><BR><BR><CODE><FONT=20
  face=3D"Courier New">****************************************************=
****************</FONT></CODE></SPAN></FONT><o:p></o:p></P></DIV></BLOCKQUO=
TE><CODE><FONT SIZE=3D3><BR>
<BR>
********************************************************************<BR>
<BR>
This email may contain information which is privileged or confidential. If =
you are not the intended recipient of this email, please notify the sender =
immediately and delete it without reading, copying, storing, forwarding or =
disclosing its contents to any other person<BR>
Thank you<BR>
<BR>
Check us out at http://www.syntegra.com<BR>
<BR>
********************************************************************<BR>
</FONT></CODE>
</BODY></HTML>
=00
------_=_NextPart_001_01C40132.16EF7662--