魯姆普爾史蒂爾特金》是最著名的德國童話之一。格林兄弟,雅各和威廉,於1812年首次將這個故事(德語: Rumpelstilzchen )收錄在他們的童話集《兒童與家庭故事集》中。他們並非這個故事的原創者。他們記錄的是一個更古老的歐洲民間故事,這個故事已經口耳相傳了好幾代。民俗學家將其歸類為ATU 500型故事,即「幫手的名字」故事。這種故事模式在歐洲各地的故事中都很常見,講述的是一個神奇的幫手,只有找到他的秘密名字才能打敗他。格林兄弟在不同的版本中對故事進行了修改,因此結局有所不同:在一些後來的德語版本中,小矮人魯姆普爾斯蒂爾特金憤怒地將自己撕成兩半;而在這部經典的英文譯本中,他跺腳踩穿地板,然後怒氣沖沖地離開了。
⬆️ Go up: /usr
/*
* Header file for common error description library.
*
* Copyright 1988, Student Information Processing Board of the
* Massachusetts Institute of Technology.
*
* For copyright and distribution info, see the documentation supplied
* with this package.
*/
#if !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)
#ifdef __GNUC__
#define COM_ERR_ATTR(x) __attribute__(x)
#else
#define COM_ERR_ATTR(x)
#endif
#include <stddef.h>
#include <stdarg.h>
typedef long errcode_t;
struct error_table {
char const * const * msgs;
long base;
int n_msgs;
};
struct et_list;
extern void com_err (const char *, long, const char *, ...)
COM_ERR_ATTR((format(printf, 3, 4)));
extern void com_err_va (const char *whoami, errcode_t code, const char *fmt,
va_list args)
COM_ERR_ATTR((format(printf, 3, 0)));
extern char const *error_message (long);
extern void (*com_err_hook) (const char *, long, const char *, va_list);
extern void (*set_com_err_hook (void (*) (const char *, long,
const char *, va_list)))
(const char *, long, const char *, va_list);
extern void (*reset_com_err_hook (void)) (const char *, long,
const char *, va_list);
extern int init_error_table(const char * const *msgs, long base, int count);
extern char *(*set_com_err_gettext (char *(*) (const char *)))
(const char *);
extern errcode_t add_error_table(const struct error_table * et);
extern errcode_t remove_error_table(const struct error_table * et);
extern void add_to_error_table(struct et_list *new_table);
/* Provided for Heimdall compatibility */
extern const char *com_right(struct et_list *list, long code);
extern const char *com_right_r(struct et_list *list, long code, char *str, size_t len);
extern void initialize_error_table_r(struct et_list **list,
const char **messages,
int num_errors,
long base);
extern void free_error_table(struct et_list *et);
/* Provided for compatibility with other com_err libraries */
extern int et_list_lock(void);
extern int et_list_unlock(void);
#define __COM_ERR_H
#define __COM_ERR_H__
#endif /* !defined(__COM_ERR_H) && !defined(__COM_ERR_H__)*/
Authentication Required