Aaron
d627dac5e8
Merge remote-tracking branch 'origin/develop' into dev/8-getcpinfo
2015-08-14 11:34:48 -07:00
Aaron
427cce83f0
Added changes based of feedback from Peter
2015-08-14 09:26:45 -07:00
Andrew Schwartzmeyer
9164baa9c4
Use libicu properly in tests
2015-08-13 21:34:59 -07:00
Andrew Schwartzmeyer
8fdfeb250d
Use libicu properly for UTF-16 conversion
...
- No more messy calculations
- Only one include, not four
- No resizing
- No memcpy
- Faster because of fromUTF8()
2015-08-13 21:27:08 -07:00
Andrew Schwartzmeyer
77f9757a05
Use known size instead of calculation
2015-08-13 20:32:30 -07:00
Andrew Schwartzmeyer
fd8352c469
Use just LOGIN_NAME_MAX
...
The +1 is unnecessary since LOGIN_NAME_MAX includes null.
2015-08-13 20:32:30 -07:00
Andrew Schwartzmeyer
c6aa25acd5
Use length() instead of size()
...
To be consistent with everything else.
2015-08-13 20:32:30 -07:00
Andrew Schwartzmeyer
91345a149e
Use 0 instead of '\0'
...
To be consistent with tests
2015-08-13 20:32:30 -07:00
Andrew Schwartzmeyer
bef9deeb84
Remove std::string utf8
...
Not used consistently. Use in-place for comparison.
2015-08-13 17:53:28 -07:00
Andrew Schwartzmeyer
454d1f276a
Return FALSE instead of 0
2015-08-13 17:44:05 -07:00
Aaron
e900fc89d6
Changed based of feedback
2015-08-13 10:48:38 -07:00
Andrew Schwartzmeyer
a99c56eea3
Convert to Allman style with 4-space indentation
2015-08-07 18:43:58 -07:00
Andrew Schwartzmeyer
f35efda7e7
Add -Wall to CMAKE_CXX_FLAGS
2015-08-07 12:07:19 -07:00
Andrew Schwartzmeyer
467fdeeb0c
Map getlogin_r()'s ERANGE to ERROR_GEN_FAILURE
...
ERROR_INSUFFICIENT_BUFFER should never occur here and would be a
misleading error for the user.
2015-08-07 12:05:07 -07:00
Andrew Schwartzmeyer
062eb5a7b4
Fix style issues
...
- Use Doxygen style comments (with better comments)
- Use `type* ident` instead of `type *ident`
- Start { on new lines
- Use TRUE/FALSE from PAL.H
2015-08-07 12:03:31 -07:00
Andrew Schwartzmeyer
1b18bfd5e1
Clean up CMakeLists
2015-08-06 17:03:53 -07:00
Andrew Schwartzmeyer
afab62205a
Rename to GetUserNameW since it is Unicode
2015-08-06 16:28:29 -07:00
Aaron
3aba128b6d
Got rid of tests for UTF7, added error checking, adding test to check for null paramater for codepage
2015-08-06 10:16:13 -07:00
Aaron
8e5bfe3072
updates to CMakeFile.txt
2015-08-05 13:28:12 -07:00
Andrew Schwartzmeyer
2ec0c2996f
Use WCHAR sizes instead of CHAR sizes
...
Such that lpnSize is the length (number of UTF-16 characters, including
null) of the username. Must be multiplied by sizeof(char16_t) for bytes.
2015-08-04 18:31:54 -07:00
Andrew Schwartzmeyer
7d007d6708
Remove PAL submodule
2015-08-04 14:16:57 -07:00
Andrew Schwartzmeyer
b77b0a7e6c
Update GetUserName tests
...
Note that these fail when run in a Docker container because a) the
current container's locale is not completely set, and b) getlogin()
returns null with ENOENT since /var/run/utmp is being mapped to the
host, and thus denied access from within the container.
The container needs the locale set and its own /run/utmp, see
https://lists.linuxcontainers.org/pipermail/lxc-users/2011-July/002374.html
2015-08-04 14:16:57 -07:00
Andrew Schwartzmeyer
052ecc801d
Use icu for Unicode conversion and fix lpnSize
...
A careful reading of the GetUserName documentation and Windows Data
Types says that lpnSize is "the number of TCHARs copied to the
buffer...including the terminating null character," and a TCHAR in this
environment is a CHAR because we assume UNICODE is always defined for
CoreCLR. A CHAR is a byte. So lpSize is number of bytes, not number of
UTF-16 characters as we previously believed.
2015-08-04 14:16:49 -07:00
Andrew Schwartzmeyer
84d24589be
Link ps against icu instead of scxcore
...
Remove scxcore library from CMake
2015-08-04 14:14:07 -07:00
Andrew Schwartzmeyer
011d8f41ea
Rename userName in test to expectedUsername
...
To clarify that it is for comparison; not the result of GetUserName.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
d589ac1cbf
Refactor setting of lpnSize when buffer size is insufficient
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
865fd0a56b
Remove unnecessary static qualifier from const string
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
b36cdcdc12
Use std::string instead of C99 dynamic array
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
bb8d0b793e
Use LOGIN_NAME_MAX instead of L_cuserid
...
Since L_cuserid is only for cuserid, not getlogin_r
Unit test for L_cuserid removed because the macro may not be available
on all platforms.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
e2d4ce0ab1
Add more unit test coverage for GetUserName
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
876a88c7d8
Set lpnSize when insufficient
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
edcb8b0402
Use test fixture in GetUserName unit tests
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
59eb8a5799
Use L_cuserid instead of 64 and given lpnSize
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
097d2e3821
Factor out using directives
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
14cec68d08
Change global to local static const
...
To avoid polluting the global namespace without using a namespace.
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
80f8fff6f2
Clarify lpBuffer layout in GetUserName unit test
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
00390847e6
Convert get_login_r to UTF-16 and return
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
e14934d06d
Check for invalid parameters in GetUserName
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
69bfc8906b
Explain GetUserName signature
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
5f54d0c748
Test UTF-16 output of GetUserName
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
0d9d31d5bd
Link scxcore to ps and include headers
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
c8fa215261
Add ext-pal dependency
...
Static library and header pulled from a build of the PAL on Ubuntu
14.04. Ugly workaround, but much easier than incorporating that entire
project's build system, or even just a part of it.
2015-08-03 12:58:59 -07:00
Andrew Schwartzmeyer
95c6658178
Add unit test for GetUserName
2015-08-03 12:58:59 -07:00
Andrew Schwartzmeyer
83d2162dc1
Use getlogin_r() in GetUserName and map errno
2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer
197938c6a6
Check locale in GetUserName
2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer
61b4e5513a
Update GetUserName signature
2015-08-03 12:53:39 -07:00
Peter Honeder
c1c9a99269
added hostutil.h, added tests for hostutil, added more cmdline options to PS host
2015-07-30 16:53:35 +02:00
Peter Honeder
8e18abaf31
added interpreting the verbose option
2015-07-29 18:12:31 +02:00
Peter Honeder
d09ac28b73
fixed string termination issue, added verbose mode
2015-07-28 18:49:32 +02:00
Peter Honeder
0a31659271
cleaned up implementation, added command line parsing and standardized managed interface for cmdline hosts
2015-07-28 18:28:09 +02:00