Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlSession.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlSession.cpp	(revision 55580)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlSession.cpp	(revision 55581)
@@ -142,4 +142,7 @@
         uint32_t uFlagsRemRec = 0;
         bool fRecursive = false;
+/** @todo r=bird: Unnecessary variable fRecursive.  You can check for
+ * DIRREMOVE_FLAG_RECURSIVE directly in the flags when deciding which API to
+ * call. */
 
         if (!(uFlags & ~DIRREMOVE_FLAG_VALID_MASK))
@@ -151,5 +154,9 @@
                 fRecursive = true;
             }
-
+/** @todo r=bird: Understand how APIs you use work (read docs, check constant,
+ * check code). If you check the actual values of RTDIRRMREC_F_CONTENT_AND_DIR
+ * and RTDIRRMREC_F_CONTENT_ONLY, you'd notice that the first one is 0 and the
+ * second is 1.  This code is a little confused about how it all works, though
+ * it ends up doing the right thing as if by accident almost. */
             if (uFlags & DIRREMOVE_FLAG_CONTENT_AND_DIR)
             {
@@ -170,4 +177,6 @@
                            szDir, uFlags, fRecursive);
 
+/** @todo r=bird: Convoluted code flow. It would be shorter and easier to
+ * read if you moved this code up and into the flags-are-valid if body. */
         if (RT_SUCCESS(rc))
         {
