https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6a683dc6d8353a27b5052…
commit 6a683dc6d8353a27b5052a6ac8311d093bb3da98
Author: Russell Johnson <encrypteddata0(a)gmail.com>
AuthorDate: Sun Jun 24 11:29:57 2018 -0700
Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>
CommitDate: Sun Jun 24 20:29:57 2018 +0200
[SHELL32] Fixed TRASH_CanTrashFile() sending the wrong path string to GetVolumeInformationW() (#635)
Function TRASH_CanTrashFile() would always fail because GetVolumeInformationW() requires only the base root path. The path (stored in buffer wszRootPathName) was not being stripped correctly.
CORE-12340
---
dll/win32/shell32/folders/CRecycleBin.cpp | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/dll/win32/shell32/folders/CRecycleBin.cpp b/dll/win32/shell32/folders/CRecycleBin.cpp
index fb8c1d8dc1..ad80c9dbc7 100644
--- a/dll/win32/shell32/folders/CRecycleBin.cpp
+++ b/dll/win32/shell32/folders/CRecycleBin.cpp
@@ -3,6 +3,7 @@
*
* Copyright (C) 2006 Mikolaj Zalewski
* Copyright (C) 2009 Andrew Hill
+ * Copyright (C) 2018 Russell Johnson
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -867,6 +868,11 @@ HRESULT WINAPI CRecycleBin::Initialize(LPCITEMIDLIST pidlFolder, IDataObject *pd
return S_OK;
}
+/**
+ * Tests whether a file can be trashed
+ * @param wszPath Path to the file to be trash
+ * @returns TRUE if the file can be trashed, FALSE otherwise
+ */
BOOL
TRASH_CanTrashFile(LPCWSTR wszPath)
{
@@ -883,12 +889,12 @@ TRASH_CanTrashFile(LPCWSTR wszPath)
return FALSE;
}
- // Only keep the base path.
+ // Copy and retrieve the root path from get given string
WCHAR wszRootPathName[MAX_PATH];
- strcpyW(wszRootPathName, wszPath);
- PathRemoveFileSpecW(wszRootPathName);
- PathAddBackslashW(wszRootPathName);
+ StringCbCopy(wszRootPathName, sizeof(wszRootPathName), wszPath);
+ PathStripToRootW(wszRootPathName);
+ // Test to see if the drive is fixed (non removable)
if (GetDriveTypeW(wszRootPathName) != DRIVE_FIXED)
{
/* no bitbucket on removable media */
@@ -897,7 +903,7 @@ TRASH_CanTrashFile(LPCWSTR wszPath)
if (!GetVolumeInformationW(wszRootPathName, NULL, 0, &VolSerialNumber, &MaxComponentLength, &FileSystemFlags, NULL, 0))
{
- ERR("GetVolumeInformationW failed with %u\n", GetLastError());
+ ERR("GetVolumeInformationW failed with %u wszRootPathName=%s\n", GetLastError(), debugstr_w(wszRootPathName));
return FALSE;
}
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=d5440316fa3de4723eca0…
commit d5440316fa3de4723eca0cdf8a5d468a25ecd537
Author: Bișoc George <fraizeraust99(a)gmail.com>
AuthorDate: Sun Jun 24 19:49:47 2018 +0200
Commit: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito(a)reactos.org>
CommitDate: Sun Jun 24 19:49:47 2018 +0200
[TRANSLATION][WHOAMI] Add Italian resource (#626)
Note: Supersedes PR #627
---
base/applications/cmdutils/whoami/lang/it-IT.rc | 64 +++++++++++++++++++++++++
base/applications/cmdutils/whoami/whoami.rc | 3 ++
2 files changed, 67 insertions(+)
diff --git a/base/applications/cmdutils/whoami/lang/it-IT.rc b/base/applications/cmdutils/whoami/lang/it-IT.rc
new file mode 100644
index 0000000000..b7bc41b9ca
--- /dev/null
+++ b/base/applications/cmdutils/whoami/lang/it-IT.rc
@@ -0,0 +1,64 @@
+/*
+ * PROJECT: ReactOS Whoami
+ * LICENSE: GPL - See COPYING in the top level directory
+ * PURPOSE: Italian resource file
+ * COPYRIGHT: Copyright 2018 Bișoc George (fraizeraust99 at gmail dot com)
+ */
+
+LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
+
+STRINGTABLE
+BEGIN
+ IDS_USER_HEADER "INFORMAZIONI DELL'UTENTE"
+ IDS_GROU_HEADER "INFORMAZIONI DEL GRUPPO"
+ IDS_PRIV_HEADER "INFORMAZIONI DEI PRIVILEGI"
+ IDS_COL_USER_NAME "Nome Utente"
+ IDS_COL_GROUP_NAME "Gruppo Utente"
+ IDS_COL_TYPE "Tipo"
+ IDS_COL_SID "SID"
+ IDS_COL_ATTRIB "Attributi"
+ IDS_COL_PRIV_NAME "Nome Privilegio"
+ IDS_COL_DESCRIPTION "Descrizione"
+ IDS_COL_STATE "Stato"
+ IDS_TP_WELL_KNOWN_GROUP "Gruppo conosciuto"
+ IDS_TP_ALIAS "Alias"
+ IDS_TP_LABEL "Etichetta"
+
+ /* [!] important note from the programmer: the program tries to remove
+ the last ', ' after concatenating, so keep than in mind when translating.
+
+ you can test your translation of these attributes by using 'whoami /groups' */
+
+ IDS_ATTR_GROUP_MANDATORY "Gruppo obbligatorio, "
+ IDS_ATTR_GROUP_ENABLED_BY_DEFAULT "Abilitato per impostazione predefinita, "
+ IDS_ATTR_GROUP_ENABLED "Gruppo abilitato, "
+ IDS_ATTR_GROUP_OWNER "Gruppo proprietario, "
+ IDS_UNKNOWN_DESCRIPTION "???"
+ IDS_STATE_ENABLED "Abilitato"
+ IDS_STATE_DISABLED "Disabilitato"
+ IDS_ERROR_UPN "ERRORE: Impossibile trovare l'User Principal Name (UPN) perchè l'utente attualmente registrato\nnon è un dominio utente.\n"
+ IDS_ERROR_FQDN "ERRORE: Impossibile trovare un Fully Qualified Domain Name (FQDN) perchè l'utente\nattualmente registrato non è un dominio utente.\n"
+ IDS_ERROR_VALUEXPECTED "ERRORE: Sintassi non valida. È previsto un valore per '/fo'.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_ERROR_VALUENOTALLOWED "ERRORE: Sintassi non valida. Valore '%s' non autorizzato per l'opzione '/fo'.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_ERROR_1TIMES "ERRORE: Sintassi non valida. L'uso dell'opzione '%s' non è autorizzato più\n di una volta.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_ERROR_INVALIDSYNTAX "ERRORE: Sintassi non valida.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_ERROR_INVALIDARG "ERRORE: Argomento o opzione non valida - '%s'.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_ERROR_NH_LIST "ERRORE: L'opzione /NH non può essere usata in formato LIST.\nInserisci ""WHOAMI /?"" per leggere le informazioni sull'uso.\n"
+ IDS_HELP "DESCRIPTION:\n\
+ Mostra le informazioni di utente, gruppo e privilegi relativi ad\n\
+ un account locale. Se non vengono forniti argomenti, sarà\n\
+ mostrato nome e dominio dell'account attuale.\n\
+\n\
+ I formati disponibili per l'opzione '/fo' sono 'csv', 'list' e 'table'.\n\
+ Usa '/nh' per nascondere le intestazioni. La data è visualizzata in una tabella.\n\
+\n\
+SINTASSI:\n\
+ whoami [/upn | /fqdn | /logonid] \n\
+ whoami {[/user] [/groups] [/priv]} [/fo <Format>] [/nh] \n\
+ whoami /all [/fo <Format>] [/nh] \n\
+\n\
+ESEMPI: \n\
+ whoami /groups /priv /nh /fo csv \n\
+ whoami /logonid \n\
+ whoami \n"
+END
diff --git a/base/applications/cmdutils/whoami/whoami.rc b/base/applications/cmdutils/whoami/whoami.rc
index b0e3a89253..0b75f08a31 100644
--- a/base/applications/cmdutils/whoami/whoami.rc
+++ b/base/applications/cmdutils/whoami/whoami.rc
@@ -25,6 +25,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
#ifdef LANGUAGE_FR_FR
#include "lang/fr-FR.rc"
#endif
+#ifdef LANGUAGE_IT_IT
+ #include "lang/it-IT.rc"
+#endif
#ifdef LANGUAGE_RO_RO
#include "lang/ro-RO.rc"
#endif
https://git.reactos.org/?p=reactos.git;a=commitdiff;h=23d0ec4c4a735cacb9f83…
commit 23d0ec4c4a735cacb9f833808010ad5bc04c9b89
Author: David Quintana <gigaherz(a)gmail.com>
AuthorDate: Thu May 31 23:50:49 2018 +0200
Commit: Mark Jansen <mark.jansen(a)reactos.org>
CommitDate: Sun Jun 24 17:00:00 2018 +0200
Add a document on the rules we should follow while managing/reviewing PRs,
and link to it from CONTRIBUTING.md and CODE_OF_CONDUCT.md
---
CODE_OF_CONDUCT.md | 4 ++++
CONTRIBUTING.md | 4 ++++
PULL_REQUEST_MANAGEMENT.md | 16 ++++++++++++++++
3 files changed, 24 insertions(+)
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 8109c09b77..dc718106c1 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,3 +1,7 @@
# Code of Conduct
Be respectful toward other members of the community. Don't initiate or engage in discussions that are designed to insult, inflame, attack, or incite hate/discrimination/bullying against others. Don't feed the trolls. If we detect any kind of behaviour we consider unacceptable, we reserve the right to ban, block, or remove the involved members from any or all of our communities.
+
+# See Also
+
+- [Rules for managing Pull Requests](PULL_REQUEST_MANAGEMENT.md)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 49a1837d4e..e9033d2971 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -101,3 +101,7 @@ Finding a good project to start with can be a challenge, because when starting o
[Coverity]: https://scan.coverity.com/projects/reactos
[request-coverity]: https://scan.coverity.com/memberships/new?project_id=reactos
[commit template]: .gitmessage
+
+# See Also
+
+- [Rules for managing Pull Requests](PULL_REQUEST_MANAGEMENT.md)
diff --git a/PULL_REQUEST_MANAGEMENT.md b/PULL_REQUEST_MANAGEMENT.md
new file mode 100644
index 0000000000..8d36bb7be7
--- /dev/null
+++ b/PULL_REQUEST_MANAGEMENT.md
@@ -0,0 +1,16 @@
+# Rules for managing Pull Requests
+
+For the sake of trying to maintain an acceptable number of open but idle PRs, the following rules should be considered:
+- If a PR has at least one approval, it can be merged after 1 week of waiting for additional comments.
+ - If the change has at least 3 approvals or you consider it trivial enough, it may be merged right away.
+- If a PR stays in "changes requested" for too long, and there is no indication from the author that they are working on it, it shall be closed.
+ - Rule of thumb: 2 weeks for a small PR. Can be longer if the PR is large.
+ - The PR can be reopened at any point, if you have additional comments, or new changes have been done.
+- If you require a review from a particular person, assign the PR to that person. Don't just rely on the "review requested" feature of GitHub.
+- Remember that PR labels exist. You can assign an appropriate label to a pull request to designate it's scope, grab additional attention or just for extra navigation possibilities.
+- Don't feel obliged to comment everything you see, just for the sake of commenting. Be it on JIRA, GitHub, or even on IRC.
+
+In addition, in order to avoid coming off as rude to helpful contributors, please refrain from:
+- Asking the contributor to do unrelated work
+- Closing without providing a reason
+- Merging with the intention to rewrite that code soon after