Loading...
nls/FreeBSD/msgcat.c.patch Libc-763.13 Libc-391.5.22
--- Libc/Libc-763.13/nls/FreeBSD/msgcat.c.patch
+++ Libc/Libc-391.5.22/nls/FreeBSD/msgcat.c.patch
@@ -1,6 +1,6 @@
---- msgcat.c.orig	2009-12-05 13:47:14.000000000 -0800
-+++ msgcat.c	2009-12-05 13:49:56.000000000 -0800
-@@ -45,16 +45,22 @@ __FBSDID("$FreeBSD: src/lib/libc/nls/msg
+--- /Network/Servers/hills/Volumes/capanna/josborne/work-area/PR-4416984/Libc/nls/FreeBSD/msgcat.c	2004-11-25 11:38:30.000000000 -0800
++++ msgcat.c	2006-02-21 12:46:25.000000000 -0800
+@@ -45,16 +45,23 @@
  #include <errno.h>
  #include <fcntl.h>
  #include <limits.h>
@@ -19,13 +19,14 @@
 -#include "../locale/setlocale.h"        /* for ENCODING_LEN */
 +#include "setlocale.h"        /* for ENCODING_LEN */
 +
-+#ifndef ntohll
++#ifndef htonll
++#define htonll(x) OSSwapHostToBigInt64(x)
 +#define ntohll(x) OSSwapBigToHostInt64(x)
 +#endif
  
  #define _DEFAULT_NLS_PATH "/usr/share/nls/%L/%N.cat:/usr/share/nls/%N/%L:/usr/local/share/nls/%L/%N.cat:/usr/local/share/nls/%N/%L"
  
-@@ -85,7 +91,7 @@ catopen(__const char *name, int type)
+@@ -87,7 +94,7 @@
  		return (loadCat(name));
  
  	if (type == NL_CAT_LOCALE)
@@ -34,7 +35,7 @@
  	else
  		lang = getenv("LANG");
  
-@@ -208,21 +214,21 @@ catopen(__const char *name, int type)
+@@ -210,21 +217,21 @@
  
  #define LOOKUP(PARENT, CHILD, ID, NUM, SET) {                    \
  	lo = 0;                                                  \
@@ -50,24 +51,29 @@
  	while (TRUE) {                                           \
  		CHILD = PARENT->SET + cur;                       \
 -		if (CHILD->ID == ID)                             \
-+		if (ntohl(CHILD->ID) == ID)                             \
++		if (htonl(CHILD->ID) == ID)                             \
  			break;                                   \
 -		if (CHILD->ID < ID) {                            \
-+		if (ntohl(CHILD->ID) < ID) {                            \
++		if (htonl(CHILD->ID) < ID) {                            \
  			lo = cur + 1;                            \
 -			if (hi > cur + (ID - CHILD->ID) + 1)     \
 -				hi = cur + (ID - CHILD->ID) + 1; \
-+			if (hi > cur + (ID - ntohl(CHILD->ID)) + 1)     \
-+				hi = cur + (ID - ntohl(CHILD->ID)) + 1; \
++			if (hi > cur + (ID - htonl(CHILD->ID)) + 1)     \
++				hi = cur + (ID - htonl(CHILD->ID)) + 1; \
  			dir = 1;                                 \
  		} else {                                         \
  			hi = cur;                                \
-@@ -241,11 +247,11 @@ static MCSetT *
- MCGetSet(MCCatT *cat, int setId)
+@@ -240,32 +247,28 @@
+ }
+ 
+ static MCSetT *
+-MCGetSet(cat, setId)
+-	MCCatT  *cat;
+-	int     setId;
++MCGetSet(MCCatT *cat, int setId)
  {
  	MCSetT  *set;
--	long    lo, hi, cur, dir;
-+	int32_t    lo, hi, cur, dir;
+ 	long    lo, hi, cur, dir;
  
  	if (cat == NULL || setId <= 0)
  		return (NULL);
@@ -76,129 +82,127 @@
  	if (set->invalid && loadSet(cat, set) <= 0)
  		return (NULL);
  	return (set);
-@@ -255,11 +261,11 @@ static MCMsgT *
- MCGetMsg(MCSetT *set, int msgId)
+ }
+ 
+ static MCMsgT *
+-MCGetMsg(set, msgId)
+-	MCSetT  *set;
+-	int     msgId;
++MCGetMsg(MCSetT *set, int msgId)
  {
  	MCMsgT  *msg;
--	long    lo, hi, cur, dir;
-+	int32_t    lo, hi, cur, dir;
+ 	long    lo, hi, cur, dir;
  
  	if (set == NULL || set->invalid || msgId <= 0)
  		return (NULL);
 -	LOOKUP(set, msg, msgId, numMsgs, u.msgs);
-+	LOOKUP(set, msg, msgId, ntohl(set->numMsgs), u.msgs);
++	LOOKUP(set, msg, msgId, htonl(set->numMsgs), u.msgs);
  	return (msg);
  }
  
-@@ -341,7 +347,7 @@ loadCat(__const char *catpath)
- 	MCHeaderT       header;
- 	MCCatT          *cat;
- 	MCSetT          *set;
--	long            i;
-+	int32_t         i;
- 	off_t           nextSet;
- 	int             saverr;
- 
-@@ -360,27 +366,30 @@ loadCat(__const char *catpath)
+@@ -377,27 +380,30 @@
  	    strncmp(header.magic, MCMagic, MCMagicLen) != 0)
  		CORRUPT();
  
 -	if (header.majorVer != MCMajorVer) {
-+	if (ntohl(header.majorVer) != MCMajorVer) {
++	if (htonl(header.majorVer) != MCMajorVer) {
  		(void)fclose(cat->fp);
  		free(cat);
 -		(void)fprintf(stderr, "%s: %s is version %ld, we need %ld.\n",
 -		    _errowner, catpath, header.majorVer, MCMajorVer);
-+		if (OSSwapInt32(ntohl(header.majorVer)) == MCMajorVer) {
++		if (OSSwapInt32(htonl(header.majorVer)) == MCMajorVer) {
 +		    (void)fprintf(stderr, "%s: %s is the wrong byte ordering.\n", _errowner, catpath);
 +		} else {
-+		    (void)fprintf(stderr, "%s: %s is version %d, we need %d.\n", _errowner, catpath, (int)ntohl(header.majorVer), MCMajorVer);
++		    (void)fprintf(stderr, "%s: %s is version %ld, we need %ld.\n", _errowner, catpath, htonl(header.majorVer), MCMajorVer);
 +		}
  		NLRETERR(EFTYPE);
  	}
 -	if (header.numSets <= 0) {
-+	if (ntohl(header.numSets) <= 0) {
++	if (htonl(header.numSets) <= 0) {
  		(void)fclose(cat->fp);
  		free(cat);
--		(void)fprintf(stderr, "%s: %s has %ld sets!\n",
+ 		(void)fprintf(stderr, "%s: %s has %ld sets!\n",
 -		    _errowner, catpath, header.numSets);
-+		(void)fprintf(stderr, "%s: %s has %d sets!\n",
-+		    _errowner, catpath, (int)ntohl(header.numSets));
++		    _errowner, catpath, htonl(header.numSets));
  		NLRETERR(EFTYPE);
  	}
  
 -	cat->numSets = header.numSets;
 -	if ((cat->sets = (MCSetT *)malloc(sizeof(MCSetT) * header.numSets)) ==
-+	cat->numSets = ntohl(header.numSets);
++	cat->numSets = htonl(header.numSets);
 +	if ((cat->sets = (MCSetT *)malloc(sizeof(MCSetT) * cat->numSets)) ==
  	    NULL)
  		NOSPACE();
  
 -	nextSet = header.firstSet;
-+	nextSet = ntohll(header.firstSet);
++	nextSet = htonll(header.firstSet);
  	for (i = 0; i < cat->numSets; ++i) {
  		if (fseeko(cat->fp, nextSet, SEEK_SET) == -1) {
  			__nls_free_resources(cat, i);
-@@ -397,11 +406,11 @@ loadCat(__const char *catpath)
+@@ -414,7 +420,7 @@
  		/* if it's invalid, skip over it (and backup 'i') */
  		if (set->invalid) {
  			--i;
 -			nextSet = set->nextSet;
-+			nextSet = ntohll(set->nextSet);
++			nextSet = htonll(set->nextSet);
  			continue;
  		}
- 		set->invalid = TRUE;
+ #if 0
+@@ -432,7 +438,7 @@
+ 		} else
+ #endif
+ 			set->invalid = TRUE;
 -		nextSet = set->nextSet;
-+		nextSet = ntohll(set->nextSet);
- 	}
- 
- 	return ((nl_catd) cat);
-@@ -415,11 +424,11 @@ loadSet(MCCatT *cat, MCSetT *set)
++		nextSet = htonll(set->nextSet);
+ 	}
+ #if 0
+ 	if (cat->loadType == MCLoadAll) {
+@@ -453,11 +459,11 @@
  	int     saverr;
  
  	/* Get the data */
 -	if (fseeko(cat->fp, set->data.off, SEEK_SET) == -1)
-+	if (fseeko(cat->fp, ntohll(set->data.off), SEEK_SET) == -1)
++	if (fseeko(cat->fp, htonll(set->data.off), SEEK_SET) == -1)
  		return (0);
 -	if ((set->data.str = malloc(set->dataLen)) == NULL)
-+	if ((set->data.str = malloc(ntohl(set->dataLen))) == NULL)
++	if ((set->data.str = malloc(htonl(set->dataLen))) == NULL)
  		return (-1);
 -	if (fread(set->data.str, set->dataLen, 1, cat->fp) != 1) {
-+	if (fread(set->data.str, ntohl(set->dataLen), 1, cat->fp) != 1) {
++	if (fread(set->data.str, htonl(set->dataLen), 1, cat->fp) != 1) {
  		saverr = errno;
  		free(set->data.str);
  		errno = saverr;
-@@ -427,13 +436,13 @@ loadSet(MCCatT *cat, MCSetT *set)
+@@ -465,13 +471,13 @@
  	}
  
  	/* Get the messages */
 -	if (fseeko(cat->fp, set->u.firstMsg, SEEK_SET) == -1) {
-+	if (fseeko(cat->fp, ntohll(set->u.firstMsg), SEEK_SET) == -1) {
++	if (fseeko(cat->fp, htonll(set->u.firstMsg), SEEK_SET) == -1) {
  		saverr = errno;
  		free(set->data.str);
  		errno = saverr;
  		return (0);
  	}
 -	if ((set->u.msgs = (MCMsgT *)malloc(sizeof(MCMsgT) * set->numMsgs)) ==
-+	if ((set->u.msgs = (MCMsgT *)malloc(sizeof(MCMsgT) * ntohl(set->numMsgs))) ==
++	if ((set->u.msgs = (MCMsgT *)malloc(sizeof(MCMsgT) * htonl(set->numMsgs))) ==
  	    NULL) {
  		saverr = errno;
  		free(set->data.str);
-@@ -441,7 +450,7 @@ loadSet(MCCatT *cat, MCSetT *set)
+@@ -479,7 +485,7 @@
  		return (-1);
  	}
  
 -	for (i = 0; i < set->numMsgs; ++i) {
-+	for (i = 0; i < ntohl(set->numMsgs); ++i) {
++	for (i = 0; i < htonl(set->numMsgs); ++i) {
  		msg = set->u.msgs + i;
  		if (fread(msg, sizeof(*msg), 1, cat->fp) != 1) {
  			saverr = errno;
-@@ -454,7 +463,7 @@ loadSet(MCCatT *cat, MCSetT *set)
+@@ -492,7 +498,7 @@
  			--i;
  			continue;
  		}
 -		msg->msg.str = (char *)(set->data.str + msg->msg.off);
-+		msg->msg.str = (char *)(set->data.str + ntohll(msg->msg.off));
++		msg->msg.str = (char *)(set->data.str + htonll(msg->msg.off));
  	}
  	set->invalid = FALSE;
  	return (1);