Changes for standards compliance:
- "If no $set directive is specified in a message text source file, all messages shall be located in an implementation-defined default message set NL_SETD." - The n argument to $delset indicates the set number which should be in the range 1 to NL_SETMAX. Standards: The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition
This commit is contained in:
parent
07f9bca5af
commit
8b26595b3a
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: gencat.c,v 1.20 2006/03/30 20:32:10 dsl Exp $ */
|
/* $NetBSD: gencat.c,v 1.21 2007/10/06 02:55:56 ginsbach Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||||
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#if defined(__RCSID) && !defined(lint)
|
#if defined(__RCSID) && !defined(lint)
|
||||||
__RCSID("$NetBSD: gencat.c,v 1.20 2006/03/30 20:32:10 dsl Exp $");
|
__RCSID("$NetBSD: gencat.c,v 1.21 2007/10/06 02:55:56 ginsbach Exp $");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/***********************************************************
|
/***********************************************************
|
||||||
@ -439,7 +439,8 @@ MCParse(fd)
|
|||||||
int fd;
|
int fd;
|
||||||
{
|
{
|
||||||
char *cptr, *str;
|
char *cptr, *str;
|
||||||
int setid, msgid = 0;
|
int msgid = 0;
|
||||||
|
int setid = 0;
|
||||||
char quote = 0;
|
char quote = 0;
|
||||||
|
|
||||||
/* XXX: init sethead? */
|
/* XXX: init sethead? */
|
||||||
@ -497,6 +498,14 @@ MCParse(fd)
|
|||||||
warning(cptr, "neither blank line nor start of a message id");
|
warning(cptr, "neither blank line nor start of a message id");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* If no set directive specified, all messages
|
||||||
|
* shall be in default message set NL_SETD.
|
||||||
|
*/
|
||||||
|
if (setid == 0) {
|
||||||
|
setid = NL_SETD;
|
||||||
|
MCAddSet(setid);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* If we have a message ID, but no message,
|
* If we have a message ID, but no message,
|
||||||
* then this means "delete this message id
|
* then this means "delete this message id
|
||||||
@ -795,6 +804,15 @@ MCDelSet(setId)
|
|||||||
struct _setT *set;
|
struct _setT *set;
|
||||||
struct _msgT *msg;
|
struct _msgT *msg;
|
||||||
|
|
||||||
|
if (setId <= 0) {
|
||||||
|
error(NULL, "setId's must be greater than zero");
|
||||||
|
/* NOTREACHED */
|
||||||
|
}
|
||||||
|
if (setId > NL_SETMAX) {
|
||||||
|
error(NULL, "setId exceeds limit");
|
||||||
|
/* NOTREACHED */
|
||||||
|
}
|
||||||
|
|
||||||
set = sethead.lh_first;
|
set = sethead.lh_first;
|
||||||
for (; set != NULL && set->setId < setId; set = set->entries.le_next);
|
for (; set != NULL && set->setId < setId; set = set->entries.le_next);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user