Index: modules/comment/comment.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/comment/comment.module,v
retrieving revision 1.929
diff -u -p -r1.929 comment.module
--- modules/comment/comment.module	18 Dec 2010 01:50:15 -0000	1.929
+++ modules/comment/comment.module	27 Dec 2010 16:57:58 -0000
@@ -2535,14 +2535,11 @@ function comment_publish_action($comment
     $comment->status = COMMENT_PUBLISHED;
   }
   else {
-    $cid = $context['cid'];
-    $subject = db_query('SELECT subject FROM {comment} WHERE cid = :cid', array(':cid' => $cid))->fetchField();
-    db_update('comment')
-      ->fields(array('status' => COMMENT_PUBLISHED))
-      ->condition('cid', $cid)
-      ->execute();
+    $comment = comment_load($context['cid']);
+    $comment->status = COMMENT_PUBLISHED;
+    comment_save($comment);
   }
-  watchdog('action', 'Published comment %subject.', array('%subject' => $subject));
+  watchdog('action', 'Published comment %subject.', array('%subject' => $comment->subject));
 }
 
 /**
@@ -2558,18 +2555,14 @@ function comment_publish_action($comment
  */
 function comment_unpublish_action($comment, $context = array()) {
   if (isset($comment->subject)) {
-    $subject = $comment->subject;
     $comment->status = COMMENT_NOT_PUBLISHED;
   }
   else {
-    $cid = $context['cid'];
-    $subject = db_query('SELECT subject FROM {comment} WHERE cid = :cid', array(':cid' => $cid))->fetchField();
-    db_update('comment')
-      ->fields(array('status' => COMMENT_NOT_PUBLISHED))
-      ->condition('cid', $cid)
-      ->execute();
+    $comment = comment_load($context['cid']);
+    $comment->status = COMMENT_NOT_PUBLISHED;
+    comment_save($comment);
   }
-  watchdog('action', 'Unpublished comment %subject.', array('%subject' => $subject));
+  watchdog('action', 'Unpublished comment %subject.', array('%subject' => $comment->subject));
 }
 
 /**
