124 Commits

Author SHA1 Message Date
Shumin Qiu
f3a14a0f57 Add code to check the return status for ShellReadFile and ShellWriteFile when execute the 'cp' command.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15231 6f19259b-4bc3-4df7-8a09-765794883524
2014-02-12 01:52:27 +00:00
Jaben Carsey
1eb5cf94a1 ShellPkg: Prevent "set" command from updating %lasterror%
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.Carsey@intel.com>
reviewed-by: Laurie Jarlstrom <laurie.jarlstrom@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15219 6f19259b-4bc3-4df7-8a09-765794883524
2014-02-11 20:36:05 +00:00
Shumin Qiu
7bc3ec3d80 1. Fix several comments in function headers for 'ShellProtocol.c', 'ShellProtocol.h' and 'Ls.c'. 2. Remove the initialization of variable 'CalleeExitStatus' in function 'RunScriptFileHandle' of 'Shell.c' from its declarartion.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15190 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-28 00:37:11 +00:00
Jaben Carsey
fed3be946c ShellPkg: Refactor Print logic out of main loop function
This has no change in the behavior of the LS command, but it removes the printing logic from the main recursive function.  This is the first step toward changing the code flow without affecting the look and feel.

The long term goal is correcting the recursion to be more clean and useful to users.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15179 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-24 20:33:17 +00:00
Jaben Carsey
012305d551 ShellPkg: remove double free operation
This pointer gets free twice and this does not work.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15094 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-10 16:41:54 +00:00
Shumin Qiu
c6cef63532 Update code to ensure the pointer ‘CurrentName’ in function ‘PerformSingleMappingDisplay’ isn’t null before being processed.
Signed-off-by: Shumin Qiu <shumin.qiu@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14990 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-17 01:04:38 +00:00
Jaben Carsey
3520e03f3d ShellPkg: Remove invalid ASSERT
There was an assumption that this API would never fail.  That is not true and the return value is checked just a few lines later.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14951 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-09 23:00:21 +00:00
Jaben Carsey
64a5bae21f ShellPkg: Correctly support "map -c"
When “map –c” is run, the mapped items should be displayed with the consistent name as the one listed to the left and all other names listed as “alias(s)”

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Chris Phillips <chrisp@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14881 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-21 22:51:52 +00:00
Chris Phillips
c32ad35161 ShellPkg: Fix for the ‘mv’ command when destination starts with ‘\’.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14787 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-18 20:10:18 +00:00
Chris Phillips
58b7301ec9 ShellPkg: Fixes for the ‘ls’ command:
- Better output to print header and file not found text
- Fix file attribute argument handling
- Fix so path ending with ‘\’ or ‘*’ is handled correctly

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14786 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-18 18:53:16 +00:00
Olivier Martin
5051c2873b ShellPkg: Fixed build errors related to variable declarations
- variable "TempLocation" was set but never used

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14605 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-27 09:01:54 +00:00
Jaben Carsey
9f56625f2a ShellPkg: Fix potentially uninitialized variable compiler warning
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14598 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-23 15:21:16 +00:00
Jaben Carsey
ac8783c8b1 ShellPkg: Fix file size error upon copy operation.
There was a case where an copy operation of a small file overwriting a larger file would not correctly remove the extra space in the old file.  The resultant file would have the entire source file and then what remained of the original file.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
reviewed-by: El-Haj-Mahmoud, Samer <samer.el-haj-mahmoud@hp.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14584 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-21 17:32:16 +00:00
Eugene Cohen
433a21cba1 ShellPkg: increase available size for PcdShellFileOperationSize
Some storage subsystems benefit by having shell file operation sizes (affecting copy and type commands right now) larger than 2^16.  This patch changes the PcdShellFileOperationSize type to 32-bits.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14534 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-08 22:31:54 +00:00
Ruiyu Ni
863986b3c8 Update all the code to consume the ConvertDevicePathToText, ConvertDevicePathNodeToText, ConvertTextToDevicePath and ConvertTextToDeviceNode APIs in DevicePathLib.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Guo Dong <guo.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14505 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-26 03:14:08 +00:00
Jaben Carsey
75a68c6969 ShellPkg: remove high bit to change a EFI_STATUS to a SHELL_STATUS
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14484 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-18 15:36:55 +00:00
Gary Ching-Pang Lin
73c5c61904 ShellPkg: Update error to be SHELL_STATUS and not EFI_STATUS.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14475 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-16 14:40:57 +00:00
jaben carsey
7461437cf1 ShellPkg: Verify memory and handle allocation failure.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: jaben carsey <jaben.carsey@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14448 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-28 22:44:21 +00:00
Jaben Carsey
22feb630eb ShellPkg: Update rm command to properly prepend file system identifiers to filenames.
This is required when recursively removing directories with files on file systems other than the current one.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Eugene Cohen <eugene@hp.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14441 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-21 21:20:03 +00:00
jcarsey
28981267c5 ShellPkg: Fix ARM build errors.
submitted-by: Olivier Martin olivier.martin@arm.com>
reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14400 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-11 22:07:03 +00:00
Eric Dong
ed053afece ShellPkg: refine the logic for cp command
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14394 6f19259b-4bc3-4df7-8a09-765794883524
2013-06-04 01:06:22 +00:00
lgao4
cbcccd2c9d Update Code to pass EBC compiler.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14352 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-13 02:36:09 +00:00
jcarsey
391206e775 ShellPkg: Update behavior for GetTime() errors.
Please find the attached patch that fixes the ShellPkg when gRT->GetTime() returns an error (eg: early UEFI platform bringup with a RTC controller that is not supported).
On some platforms, gRT->GetTime() might not return EFI_SUCCESS. The Shell must check the return status before to assume the returned time is valid.


Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14337 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09 16:18:58 +00:00
jcarsey
e755a4ca10 ShellPkg: Fixed build error 'variable set but not used'
GCC toolchain cannot build ShellPkg.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <Olivier.Martin@arm.com>
Reviewed-by: Jaben Carsey <Jaben.Carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14326 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-07 17:57:58 +00:00
jcarsey
0290177adf ShellPkg: explicitly prevent dereferencing pointer
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
reviewed-by: Erik Bjorge <Erik.c.Bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14291 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-18 16:05:59 +00:00
jcarsey
f06be00e7a ShellPkg: Fixes CP function to prevent copying of files if destination does not have adequate storage.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Matt Stanbro <Matthew.A.Stanbro@intel.com>
Reviewed-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14203 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-12 20:56:36 +00:00
jcarsey
7dd0562309 ShellPkg : Check pointer before dereferencing
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <Jaben.carsey@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14144 6f19259b-4bc3-4df7-8a09-765794883524
2013-02-22 18:20:55 +00:00
jcarsey
54c9a68d9c ShellPkg: fix string truncation.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14129 6f19259b-4bc3-4df7-8a09-765794883524
2013-02-14 01:02:15 +00:00
jcarsey
668a5781d3 ShellPkg: add verification that a target directory exists when changing directory with drive identifier.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14128 6f19259b-4bc3-4df7-8a09-765794883524
2013-02-13 22:22:16 +00:00
jcarsey
d51088b764 ShellPkg: Updates to 'help' command
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chris Phillips <chrisp@hp.com>
reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13997 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-13 21:26:22 +00:00
jcarsey
60448d9b8d ShellPkg: Fix en-US characters that are outside the Basic Latin character set range
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Samer El-Haj-Mahmoud elhaj@hp.com 
reviewed-by: Jaben Carsey jaben.carsey@intel.com

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13448 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-12 17:22:19 +00:00
jcarsey
74fa83fda6 ShellPkg: fix 'ls' handling of empty drives where there is not even an "." or ".." directory.
Signed-off-by: jcarsey
Reviewed-by: winddy_zhang@byosoft.com.cn

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12981 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-02 16:55:30 +00:00
jcarsey
a32980dd3c ShellPkg: Fix rm CWD protection to be better at catching similarly named directories.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12950 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-20 18:10:45 +00:00
jcarsey
a7224eefeb ShellPkg: Check for Abort flag in main 'for' loop of ls command and propagate the condition when found.
Also prevents printing of an error output when user selects abort.

signed-off-by: jcarsey
reviewed-by: 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12925 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-11 18:45:23 +00:00
jcarsey
344b16e151 ShellPkg: fix copyright date.
signed-off-by: jcarsey

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12911 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-05 20:46:16 +00:00
jcarsey
d8fdd5247c ShellPkg: Fix swapping of reset behavior.
This fix exchanges the behavior between "reset -c" and "reset" with "reset -w".

signed-off-by: jliu66
reviewed-by: jcarsey

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12909 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-05 18:20:23 +00:00
jcarsey
8fcf74a850 ShellPkg: print error when column index is out of range instead of ASSERT.
signed-off-by: jcarsey
reviewed-by: leegrosenbaum

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12904 6f19259b-4bc3-4df7-8a09-765794883524
2012-01-02 21:17:20 +00:00
jcarsey
8f04ca1a8f ShellPkg: Fix "-b" usage with timezone command.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12799 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-29 21:46:53 +00:00
jcarsey
73c83c69c0 ShellPkg: Correct incorrect use of sizeof to use macro for EFI_FILE_INFO size.
Signed-off-by: jcarsey
Reviewed-by: niruiyu


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12740 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-18 17:02:36 +00:00
jcarsey
3372840669 ShellPkg: swap warm and cold to get the default correct for Reset command.
sighed-off-by: jcarsey
reviewed-by: gookboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12623 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-01 20:05:11 +00:00
ydong10
d6c06dd776 Fix a code typo.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12543 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-18 01:47:53 +00:00
jcarsey
c8c2259156 ShellPkg: Add checking for memory allocation and pointer returns from functions.
signed-off-by: jcarsey
reviewed-by: lgrosenb

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12542 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-17 17:49:21 +00:00
jcarsey
532691c8ba ShellPkg: Add checking for memory allocation and pointer returns from functions.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12540 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-14 19:21:13 +00:00
jcarsey
beab0fc5e2 ShellPkg: Verify memory allocations without ASSERT.
signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12522 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-10 17:26:25 +00:00
lgao4
bca163ff11 Clean up the private GUID definition in module Level.
Signed-off-by: lgao4
Reviewed-by: jcarsey

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12394 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-21 01:56:00 +00:00
jcarsey
1fc3749dad ShellPkg: fix support for "\" (or "\.") meaning root of drive.
Cp command fixed to allow for copying single or multiple files to the root of the drive with destination directory \.
Cd command fixed to allow for changing CWD to the root of the drive with destination directory \.

signed-off-by: jcarsey
reviewed-by: geekboy15a

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12392 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-20 21:01:34 +00:00
ydong10
4ff7e37b4f Refine comments and two code style.
Signed-off-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12263 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-02 08:05:34 +00:00
jcarsey
ab94587a7d This refactors 3 functions out of ShellCommandLib and puts them into a new library (but as 2 functions instead of 3). This allows for users outside of the shell itself to have access to these functions.
1) Remove the 3 functions out of the shell's internal library (ShellCommandLib)
2) Add a new library class (PathLib)
3) Add an instance of this class (BasePathLib)
4) Change all internal shell callers to use this new library class.

signed-off-by: jcarsey
reviewed-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11936 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-30 22:58:53 +00:00
jcarsey
f1518f6970 add fixes for code verification happyness.
signed-off-by: jcarsey
reviewed-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11935 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-30 22:25:46 +00:00
jcarsey
35f26e73cc replace assert with error.
signed-off-by: jcarsey
reviewed-by: lgrosenb

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11897 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-27 20:28:23 +00:00