]> git.saurik.com Git - apple/libc.git/blobdiff - nls/FreeBSD/msgcat.c.patch
Libc-498.1.5.tar.gz
[apple/libc.git] / nls / FreeBSD / msgcat.c.patch
index 6a531ba346af2f40594e63d0a32cfed4d42a86a2..e267faeaff0000fdcbfea73769bafd21a8ac545f 100644 (file)
@@ -1,6 +1,6 @@
---- /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 @@
+--- msgcat.c.orig      2007-02-07 01:54:34.000000000 -0800
++++ msgcat.c   2007-02-07 02:03:33.000000000 -0800
+@@ -45,16 +45,22 @@
  #include <errno.h>
  #include <fcntl.h>
  #include <limits.h>
 -#include "../locale/setlocale.h"        /* for ENCODING_LEN */
 +#include "setlocale.h"        /* for ENCODING_LEN */
 +
-+#ifndef htonll
-+#define htonll(x) OSSwapHostToBigInt64(x)
++#ifndef ntohll
 +#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"
  
-@@ -87,7 +94,7 @@
+@@ -87,7 +93,7 @@
                return (loadCat(name));
  
        if (type == NL_CAT_LOCALE)
@@ -35,7 +34,7 @@
        else
                lang = getenv("LANG");
  
-@@ -210,21 +217,21 @@
+@@ -210,21 +216,21 @@
  
  #define LOOKUP(PARENT, CHILD, ID, NUM, SET) {                    \
        lo = 0;                                                  \
        while (TRUE) {                                           \
                CHILD = PARENT->SET + cur;                       \
 -              if (CHILD->ID == ID)                             \
-+              if (htonl(CHILD->ID) == ID)                             \
++              if (ntohl(CHILD->ID) == ID)                             \
                        break;                                   \
 -              if (CHILD->ID < ID) {                            \
-+              if (htonl(CHILD->ID) < ID) {                            \
++              if (ntohl(CHILD->ID) < ID) {                            \
                        lo = cur + 1;                            \
 -                      if (hi > cur + (ID - CHILD->ID) + 1)     \
 -                              hi = cur + (ID - CHILD->ID) + 1; \
-+                      if (hi > cur + (ID - htonl(CHILD->ID)) + 1)     \
-+                              hi = cur + (ID - htonl(CHILD->ID)) + 1; \
++                      if (hi > cur + (ID - ntohl(CHILD->ID)) + 1)     \
++                              hi = cur + (ID - ntohl(CHILD->ID)) + 1; \
                        dir = 1;                                 \
                } else {                                         \
                        hi = cur;                                \
-@@ -240,32 +247,28 @@
+@@ -240,32 +246,28 @@
  }
  
  static MCSetT *
@@ -73,7 +72,8 @@
 +MCGetSet(MCCatT *cat, int setId)
  {
        MCSetT  *set;
-       long    lo, hi, cur, dir;
+-      long    lo, hi, cur, dir;
++      int32_t    lo, hi, cur, dir;
  
        if (cat == NULL || setId <= 0)
                return (NULL);
 +MCGetMsg(MCSetT *set, int msgId)
  {
        MCMsgT  *msg;
-       long    lo, hi, cur, dir;
+-      long    lo, hi, cur, dir;
++      int32_t    lo, hi, cur, dir;
  
        if (set == NULL || set->invalid || msgId <= 0)
                return (NULL);
 -      LOOKUP(set, msg, msgId, numMsgs, u.msgs);
-+      LOOKUP(set, msg, msgId, htonl(set->numMsgs), u.msgs);
++      LOOKUP(set, msg, msgId, ntohl(set->numMsgs), u.msgs);
        return (msg);
  }
  
-@@ -377,27 +380,30 @@
+@@ -357,7 +359,7 @@
+       MCHeaderT       header;
+       MCCatT          *cat;
+       MCSetT          *set;
+-      long            i;
++      int32_t         i;
+       off_t           nextSet;
+       int             saverr;
+@@ -377,27 +379,30 @@
            strncmp(header.magic, MCMagic, MCMagicLen) != 0)
                CORRUPT();
  
 -      if (header.majorVer != MCMajorVer) {
-+      if (htonl(header.majorVer) != MCMajorVer) {
++      if (ntohl(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(htonl(header.majorVer)) == MCMajorVer) {
++              if (OSSwapInt32(ntohl(header.majorVer)) == MCMajorVer) {
 +                  (void)fprintf(stderr, "%s: %s is the wrong byte ordering.\n", _errowner, catpath);
 +              } else {
-+                  (void)fprintf(stderr, "%s: %s is version %ld, we need %ld.\n", _errowner, catpath, htonl(header.majorVer), MCMajorVer);
++                  (void)fprintf(stderr, "%s: %s is version %d, we need %d.\n", _errowner, catpath, (int)ntohl(header.majorVer), MCMajorVer);
 +              }
                NLRETERR(EFTYPE);
        }
 -      if (header.numSets <= 0) {
-+      if (htonl(header.numSets) <= 0) {
++      if (ntohl(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);
-+                  _errowner, catpath, htonl(header.numSets));
++              (void)fprintf(stderr, "%s: %s has %d sets!\n",
++                  _errowner, catpath, (int)ntohl(header.numSets));
                NLRETERR(EFTYPE);
        }
  
 -      cat->numSets = header.numSets;
 -      if ((cat->sets = (MCSetT *)malloc(sizeof(MCSetT) * header.numSets)) ==
-+      cat->numSets = htonl(header.numSets);
++      cat->numSets = ntohl(header.numSets);
 +      if ((cat->sets = (MCSetT *)malloc(sizeof(MCSetT) * cat->numSets)) ==
            NULL)
                NOSPACE();
  
 -      nextSet = header.firstSet;
-+      nextSet = htonll(header.firstSet);
++      nextSet = ntohll(header.firstSet);
        for (i = 0; i < cat->numSets; ++i) {
                if (fseeko(cat->fp, nextSet, SEEK_SET) == -1) {
                        __nls_free_resources(cat, i);
-@@ -414,7 +420,7 @@
+@@ -414,7 +419,7 @@
                /* if it's invalid, skip over it (and backup 'i') */
                if (set->invalid) {
                        --i;
 -                      nextSet = set->nextSet;
-+                      nextSet = htonll(set->nextSet);
++                      nextSet = ntohll(set->nextSet);
                        continue;
                }
  #if 0
-@@ -432,7 +438,7 @@
+@@ -432,7 +437,7 @@
                } else
  #endif
                        set->invalid = TRUE;
 -              nextSet = set->nextSet;
-+              nextSet = htonll(set->nextSet);
++              nextSet = ntohll(set->nextSet);
        }
  #if 0
        if (cat->loadType == MCLoadAll) {
-@@ -453,11 +459,11 @@
+@@ -453,11 +458,11 @@
        int     saverr;
  
        /* Get the data */
 -      if (fseeko(cat->fp, set->data.off, SEEK_SET) == -1)
-+      if (fseeko(cat->fp, htonll(set->data.off), SEEK_SET) == -1)
++      if (fseeko(cat->fp, ntohll(set->data.off), SEEK_SET) == -1)
                return (0);
 -      if ((set->data.str = malloc(set->dataLen)) == NULL)
-+      if ((set->data.str = malloc(htonl(set->dataLen))) == NULL)
++      if ((set->data.str = malloc(ntohl(set->dataLen))) == NULL)
                return (-1);
 -      if (fread(set->data.str, set->dataLen, 1, cat->fp) != 1) {
-+      if (fread(set->data.str, htonl(set->dataLen), 1, cat->fp) != 1) {
++      if (fread(set->data.str, ntohl(set->dataLen), 1, cat->fp) != 1) {
                saverr = errno;
                free(set->data.str);
                errno = saverr;
-@@ -465,13 +471,13 @@
+@@ -465,13 +470,13 @@
        }
  
        /* Get the messages */
 -      if (fseeko(cat->fp, set->u.firstMsg, SEEK_SET) == -1) {
-+      if (fseeko(cat->fp, htonll(set->u.firstMsg), SEEK_SET) == -1) {
++      if (fseeko(cat->fp, ntohll(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) * htonl(set->numMsgs))) ==
++      if ((set->u.msgs = (MCMsgT *)malloc(sizeof(MCMsgT) * ntohl(set->numMsgs))) ==
            NULL) {
                saverr = errno;
                free(set->data.str);
-@@ -479,7 +485,7 @@
+@@ -479,7 +484,7 @@
                return (-1);
        }
  
 -      for (i = 0; i < set->numMsgs; ++i) {
-+      for (i = 0; i < htonl(set->numMsgs); ++i) {
++      for (i = 0; i < ntohl(set->numMsgs); ++i) {
                msg = set->u.msgs + i;
                if (fread(msg, sizeof(*msg), 1, cat->fp) != 1) {
                        saverr = errno;
-@@ -492,7 +498,7 @@
+@@ -492,7 +497,7 @@
                        --i;
                        continue;
                }
 -              msg->msg.str = (char *)(set->data.str + msg->msg.off);
-+              msg->msg.str = (char *)(set->data.str + htonll(msg->msg.off));
++              msg->msg.str = (char *)(set->data.str + ntohll(msg->msg.off));
        }
        set->invalid = FALSE;
        return (1);