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
6ddb39e337
Link ps against icu instead of scxcore
...
Remove scxcore library from CMake
2015-08-04 14:14:07 -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
Zachary Folwick
f86f856ba6
undid failing test
2015-08-04 11:19:41 -07:00
Zachary Folwick
df8722dfc8
created a failing test for jenkins troubleshooting
2015-08-04 10:57:54 -07:00
Zachary Folwick
1a38a52e00
added format-table tests
2015-08-04 00:31:30 -07:00
Aaron
245b287443
added more error handling
2015-08-03 13:54:07 -07:00
Aaron
c979881804
added more error handling
2015-08-03 13:54:07 -07:00
Andrew Schwartzmeyer
0c9fb0d01b
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
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
b076850012
Refactor setting of lpnSize when buffer size is insufficient
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
2a2c1d9236
Remove unnecessary static qualifier from const string
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
0592a37395
Use std::string instead of C99 dynamic array
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
9426e9c455
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
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
cbee353d0d
Add more unit test coverage for GetUserName
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
4a2c1c5a95
Set lpnSize when insufficient
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
0f07a65f50
Use test fixture in GetUserName unit tests
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
e8cb7e24fe
Use L_cuserid instead of 64 and given lpnSize
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
3ab3408378
Factor out using directives
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
6699091f7b
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
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
41a00d9279
Clarify lpBuffer layout in GetUserName unit test
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
3ac74ab849
Convert get_login_r to UTF-16 and return
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
6481f0336d
Check for invalid parameters in GetUserName
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
a18a5912ab
Explain GetUserName signature
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
69bfc8906b
Explain GetUserName signature
2015-08-03 13:00:34 -07:00
Andrew Schwartzmeyer
ff0b43015b
Test UTF-16 output of GetUserName
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
8dbe788284
Link scxcore to ps and include headers
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
f8eedc7210
Add unit test for GetUserName
2015-08-03 12:58:59 -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
b80da9ab4d
Use getlogin_r() in GetUserName and map errno
2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer
83d2162dc1
Use getlogin_r() in GetUserName and map errno
2015-08-03 12:53:39 -07:00
Andrew Schwartzmeyer
f676c77a8e
Check locale in GetUserName
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
4404e03613
Update GetUserName signature
2015-08-03 12:53:39 -07:00