NEOERR* lerr_init() { NEOERR *err; if (lerrInited == 0) { err = nerr_init(); if (err != STATUS_OK) return nerr_pass(err); err = merr_init((MeventLog)mtc_msg); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_NOTLOGIN, "请登录后操作"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_LOGINPSW, "密码错误"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_LIMIT, "用户无权限"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MISS_DATA, "请求的资源不存在"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MISS_TPL, "找不到渲染模板(忘记了/json ?)"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_ATTACK, "太过频繁,请稍后请求!"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_REDIRECT, "页面重定向!"); if (err != STATUS_OK) return nerr_pass(err); lerrInited = 1; } return STATUS_OK; }
NEOERR *nerr_init (void) { NEOERR *err; if (Inited == 0) { #ifdef HAVE_PTHREADS /* In threaded environments, we have to mutex lock to do this init, but * we don't want to use a mutex every time to check that it was Inited. * So, we only lock if our first test of Inited was false */ err = mLock(&InitLock); if (err != STATUS_OK) return nerr_pass(err); if (Inited == 0) { #endif err = uListInit (&Errors, 10, 0); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_PASS, "InternalPass"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_ASSERT, "AssertError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_NOT_FOUND, "NotFoundError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_DUPLICATE, "DuplicateError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_NOMEM, "MemoryError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_PARSE, "ParseError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_OUTOFRANGE, "RangeError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_SYSTEM, "SystemError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_IO, "IOError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_LOCK, "LockError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_DB, "DBError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_EXISTS, "ExistsError"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register (&NERR_MAX_RECURSION, "MaxRecursionError"); if (err != STATUS_OK) return nerr_pass(err); Inited = 1; #ifdef HAVE_PTHREADS } err = mUnlock(&InitLock); if (err != STATUS_OK) return nerr_pass(err); #endif } return STATUS_OK; }
NEOERR* lerr_init() { NEOERR *err; if (lerrInited == 0) { err = nerr_init(); if (err != STATUS_OK) return nerr_pass(err); err = merr_init((MeventLog)mtc_msg); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_NOTLOGIN, "请登录后操作"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_LOGINPSW, "密码错误"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_LIMIT, "用户无权限"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MISS_DATA, "请求的资源不存在"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MISS_TPL, "找不到渲染模板(忘记了/json ?)"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_ATTACK, "太过频繁,请稍后请求!"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MEMBERED, "邮箱已被注册!"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_CARED, "一个帐户只能拥有一辆车!"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_MEMBER_NEXIST, "用户不存在"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_PLAN_NEXIST, "路线不存在"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_USERINPUT, "输入参数错误"); if (err != STATUS_OK) return nerr_pass(err); err = nerr_register(&LERR_IMGPROE, "处理图片失败"); if (err != STATUS_OK) return nerr_pass(err); lerrInited = 1; } return STATUS_OK; }