Documentation
¶
Index ¶
- Constants
- Variables
- func AppendRecord(filename string, data interface{}, theSize uintptr) (idx ptttype.SortIdx, err error)
- func DBCSSafeTrim(str []byte) (newStr []byte)
- func DeleteRecord(filename string, index ptttype.SortIdxInStore, theSize uintptr) error
- func FileExistsRecord(filename string, key []byte) bool
- func FileFindRecord(filename string, key []byte) (idx int)
- func FindRecordStartIdx(dirFilename string, total int, createTime types.Time4, ...) (startIdx ptttype.SortIdx, err error)
- func GetHoroscope(m int, d int) int
- func GetNumRecords(filename string, size uintptr) int
- func GetRecord(dirFilename string, filename *ptttype.Filename_t, total int) (idx ptttype.SortIdx, fhdr *ptttype.FileHeaderRaw, err error)
- func GetRecords(boardID *ptttype.BoardID_t, filename string, startIdx ptttype.SortIdx, n int, ...) (summaries []*ptttype.ArticleSummaryRaw, err error)
- func GoFlock(fd uintptr, filename string) (err error)
- func GoFlockExNb(fd uintptr, filename string) (err error)
- func GoFunlock(fd uintptr, filename string) (err error)
- func GoPttLock(file *os.File, filename string, offset int64, theSize uintptr) (err error)
- func GoPttUnlock(file *os.File, filename string, offset int64, theSize uintptr) (err error)
- func IsLeapYear(year int) bool
- func LogFile(filename string, logFlag LogFlag, msg string) (err error)
- func LogFilef(filename string, logFlag LogFlag, msg string) (err error)
- func StrcaseStartsWith(str []byte, prefix []byte) (isValid bool)
- func StripAnsi(src []byte, flag StripAnsiFlag) (dst []byte)
- func StripBlank(theBytes []byte) []byte
- func StripNoneBig5(str_out []byte) (sanitizedStr []byte)
- func SubstituteRecord(filename string, data interface{}, theSize uintptr, idxInStore int32) (err error)
- func Trim(str []byte) (newStr []byte)
- type DBCSStatus_t
- type Fnv32_t
- type Fnv64_t
- type LogFlag
- type StripAnsiFlag
Constants ¶
const ( // https://github.com/ptt/pttbbs/blob/master/include/fnv_hash.h // commit: 6bdd36898bde207683a441cdffe2981e95de5b20 FNV1_32_INIT Fnv32_t = 33554467 FNV1_64_INIT Fnv64_t = 0xcbf29ce484222325 FNV_32_PRIME Fnv32_t = 0x01000193 FNV_64_PRIME Fnv64_t = 0x100000001b3 )
const (
N_ITER_PTTLOCK = 10
)
Variables ¶
var ESCAPE_FLAG = []uint8{}/* 256 elements not displayed */
var ErrPttLock = errors.New("unable to ptt-lock")
var ErrRecordNotFound = errors.New("not found")
Functions ¶
func AppendRecord ¶ added in v0.11.1
func DBCSSafeTrim ¶ added in v0.12.0
func DeleteRecord ¶ added in v0.19.0
func DeleteRecord(filename string, index ptttype.SortIdxInStore, theSize uintptr) error
func FileExistsRecord ¶ added in v0.14.0
func FileFindRecord ¶ added in v0.14.0
FileFindRecord (starting from 1)
func FindRecordStartIdx ¶ added in v0.10.0
func FindRecordStartIdx(dirFilename string, total int, createTime types.Time4, filename *ptttype.Filename_t, isDesc bool) (startIdx ptttype.SortIdx, err error)
FindRecordStartIdx
startIdx should be 1-total. find record: if isDesc: search from the newest, until either find the filename,
or the record of the createTime
else: search from the oldest, until either find the filename,
or the record of the createTime
func GetNumRecords ¶
func GetRecord ¶ added in v0.14.0
func GetRecord(dirFilename string, filename *ptttype.Filename_t, total int) (idx ptttype.SortIdx, fhdr *ptttype.FileHeaderRaw, err error)
func GetRecords ¶ added in v0.3.0
func GoFlock ¶ added in v0.12.0
GoFlock
Original Flock has no effect with multi-thread process. We use single lock for now.
func GoFlockExNb ¶ added in v0.14.0
GoFlock
Original Flock has no effect with multi-thread process. We use single lock for now.
func GoFunlock ¶ added in v0.12.0
GoFunlock
Original Flock has no effect with multi-thread process. We use single lock for now.
func GoPttLock ¶ added in v0.12.0
GoPttLock
Original PttLock has no effect with multi-thread process. We use single lock for now.
func GoPttUnlock ¶ added in v0.12.0
GoPttUnlock
Original PttLock has no effect with multi-thread process. We use single lock for now.
func IsLeapYear ¶
func StrcaseStartsWith ¶ added in v0.12.0
func StripAnsi ¶ added in v0.5.0
func StripAnsi(src []byte, flag StripAnsiFlag) (dst []byte)
func StripBlank ¶ added in v0.9.0
func StripNoneBig5 ¶ added in v0.5.0
StringNoneBig5
https://github.com/ptt/pttbbs/issues/94 str is modified.
func SubstituteRecord ¶ added in v0.11.1
Types ¶
type DBCSStatus_t ¶ added in v0.12.0
type DBCSStatus_t int
const ( DBCS_ASCII DBCSStatus_t = 0 DBCS_LEADING DBCSStatus_t = 1 DBCS_TRAILING DBCSStatus_t = 2 )
func DBCSNextStatus ¶ added in v0.12.0
func DBCSNextStatus(c byte, prevStatus DBCSStatus_t) (newStatus DBCSStatus_t)
func DBCSStatus ¶ added in v0.12.0
func DBCSStatus(str []byte, pos int) (status DBCSStatus_t)
type StripAnsiFlag ¶ added in v0.5.0
type StripAnsiFlag int
const ( STRIP_ANSI_ALL StripAnsiFlag = iota STRIP_ANSI_ONLY_COLOR // allow only colors (ESC [ .. m) STRIP_ANSI_NO_RELOAD // allow all known (color+move) )