hunk.code_window: 		c.SetPermissionError(model.PERMISSION_EDIT_POST)
   		return
   	}
   	if !c.App.SessionHasPermissionToPost(c.Session, c.Params.PostId, model.PERMISSION_EDIT_OTHERS_POSTS) {
   		c.SetPermissionError(model.PERMISSION_EDIT_OTHERS_POSTS)
   		return
   	}
  
hunk.labels: keep keep keep keep replace replace keep keep keep
hunk.after_edit: 	originalPost, err := c.App.GetSinglePost(c.Params.PostId)
   	if err != nil {
   		c.SetPermissionError(model.PERMISSION_EDIT_POST)
  
hunk.file_path: api4/post.go
hunk.type: replace
file: // Copyright 2013 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  
  // +build darwin dragonfly freebsd netbsd openbsd
  
  package ipv6
  
  func (f *icmpv6Filter) accept(typ ICMPType) {
  	f.Filt[typ>>5] |= 1 << (uint32(typ) & 31)
  }
  
  func (f *icmpv6Filter) block(typ ICMPType) {
  	f.Filt[typ>>5] &^= 1 << (uint32(typ) & 31)
  }
  
  func (f *icmpv6Filter) setAll(block bool) {
  	for i := range f.Filt {
  		if block {
  			f.Filt[i] = 0
  		} else {
  			f.Filt[i] = 1<<32 - 1
  		}
  	}
  }
  
  func (f *icmpv6Filter) willBlock(typ ICMPType) bool {
  	return f.Filt[typ>>5]&(1<<(uint32(typ)&31)) == 0
  }
  