krb5 commit: Eliminate use of the 'register' keyword

Greg Hudson <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/beeb2828945a41d86488e391ce440bacee0ec8a4
commit beeb2828945a41d86488e391ce440bacee0ec8a4
Author: Thomas Sondergaard <[email protected]>
Date:   Sat Jun 16 18:14:50 2018 +0200

    Eliminate use of the 'register' keyword
    
    'register' is a reserved and unused keyword in C++17 so having it
    present in the public headers presents a a compatibility issue. Also
    in C the 'register' keyword is mostly obsolete, so remove all uses of
    it.
    
    [[email protected]: adjusted style of some of the affected lines]

 src/appl/user_user/client.c                        |    2 +-
 src/clients/ksu/main.c                             |    2 +-
 src/clients/ksu/setenv.c                           |   16 +++---
 src/include/gssrpc/clnt.h                          |    2 +-
 src/include/krb5/krb5.hin                          |   16 +++---
 src/kadmin/cli/getdate.y                           |   10 ++--
 src/kadmin/dbutil/strtok.c                         |    8 ++--
 src/kadmin/server/ipropd_svc.c                     |    2 +-
 src/kadmin/server/kadm_rpc_svc.c                   |    2 +-
 src/kdc/kdc_util.c                                 |    6 +-
 src/kdc/tgs_policy.c                               |    2 +-
 src/lib/apputils/net-server.c                      |    2 +-
 src/lib/crypto/builtin/des/destest.c               |    8 ++--
 src/lib/crypto/builtin/des/doc/libdes.doc          |    4 +-
 src/lib/crypto/builtin/des/f_cksum.c               |    2 +-
 src/lib/crypto/builtin/des/f_sched.c               |   12 ++--
 src/lib/crypto/builtin/des/f_tables.h              |   10 ++--
 src/lib/crypto/builtin/des/t_verify.c              |    2 +-
 src/lib/crypto/builtin/md4/md4.c                   |    2 +-
 src/lib/crypto/builtin/md5/md5.c                   |    2 +-
 src/lib/crypto/krb/crc32.c                         |    6 +-
 src/lib/crypto/krb/keyblocks.c                     |    2 +-
 src/lib/kdb/iprop_xdr.c                            |   40 ++++++++--------
 src/lib/krb5/ccache/cc_mslsa.c                     |    6 +-
 src/lib/krb5/ccache/ccapi/stdcc_util.c             |   12 ++--
 src/lib/krb5/keytab/kt_file.c                      |    2 +-
 src/lib/krb5/krb/addr_order.c                      |    2 +-
 src/lib/krb5/krb/authdata.c                        |    2 +-
 src/lib/krb5/krb/conv_princ.c                      |    4 +-
 src/lib/krb5/krb/copy_addrs.c                      |    2 +-
 src/lib/krb5/krb/copy_auth.c                       |    2 +-
 src/lib/krb5/krb/copy_princ.c                      |    2 +-
 src/lib/krb5/krb/decrypt_tk.c                      |    3 +-
 src/lib/krb5/krb/encrypt_tk.c                      |    5 +-
 src/lib/krb5/krb/kfree.c                           |   40 ++++++++--------
 src/lib/krb5/krb/pr_to_salt.c                      |   11 ++--
 src/lib/krb5/krb/unparse.c                         |    3 +-
 src/lib/krb5/krb/walk_rtree.c                      |    2 +-
 src/lib/krb5/os/full_ipadr.c                       |    4 +-
 src/lib/krb5/os/mk_faddr.c                         |    2 +-
 src/lib/krb5/os/net_read.c                         |    2 +-
 src/lib/krb5/os/port2ip.c                          |    2 +-
 src/lib/krb5/os/timeofday.c                        |    2 +-
 src/lib/rpc/auth_none.c                            |    6 +-
 src/lib/rpc/auth_unix.c                            |   34 +++++++-------
 src/lib/rpc/authunix_prot.c                        |    2 +-
 src/lib/rpc/clnt_raw.c                             |    8 ++--
 src/lib/rpc/clnt_simple.c                          |    2 +-
 src/lib/rpc/clnt_tcp.c                             |   30 +++++------
 src/lib/rpc/clnt_udp.c                             |   28 +++++-----
 src/lib/rpc/getrpcent.c                            |   18 ++++----
 src/lib/rpc/pmap_clnt.c                            |    4 +-
 src/lib/rpc/pmap_getmaps.c                         |    2 +-
 src/lib/rpc/pmap_getport.c                         |    2 +-
 src/lib/rpc/pmap_prot2.c                           |    6 +-
 src/lib/rpc/pmap_rmt.c                             |   18 ++++----
 src/lib/rpc/rpc_callmsg.c                          |    6 +-
 src/lib/rpc/svc.c                                  |   28 +++++-----
 src/lib/rpc/svc_auth.c                             |    8 ++--
 src/lib/rpc/svc_auth_gssapi.c                      |    4 +-
 src/lib/rpc/svc_auth_unix.c                        |   10 ++--
 src/lib/rpc/svc_raw.c                              |   16 +++---
 src/lib/rpc/svc_tcp.c                              |   50 +++++++++----------
 src/lib/rpc/svc_udp.c                              |   42 ++++++++--------
 src/lib/rpc/unit-test/rpc_test_svc.c               |    2 +-
 src/lib/rpc/unit-test/server.c                     |    2 +-
 src/lib/rpc/xdr.c                                  |   16 +++---
 src/lib/rpc/xdr_alloc.c                            |   16 +++---
 src/lib/rpc/xdr_array.c                            |   26 +++++-----
 src/lib/rpc/xdr_float.c                            |    4 +-
 src/lib/rpc/xdr_mem.c                              |    4 +-
 src/lib/rpc/xdr_rec.c                              |   51 ++++++++++----------
 src/lib/rpc/xdr_reference.c                        |    4 +-
 src/plugins/kdb/db2/libdb2/btree/bt_utils.c        |    8 ++--
 src/plugins/kdb/db2/libdb2/recno/rec_search.c      |    4 +-
 src/plugins/kdb/db2/libdb2/test/btree.tests/main.c |    2 +-
 src/plugins/kdb/db2/libdb2/test/dbtest.c           |    4 +-
 src/util/profile/profile_tcl.c                     |   24 +++++-----
 src/util/ss/cmd_tbl.lex.l                          |    2 +-
 src/util/ss/error.c                                |    4 +-
 src/util/ss/execute_cmd.c                          |   16 +++---
 src/util/ss/help.c                                 |   12 ++--
 src/util/ss/invocation.c                           |    8 ++--
 src/util/ss/list_rqs.c                             |   10 ++--
 src/util/ss/listen.c                               |    8 ++--
 src/util/ss/options.c                              |    4 +-
 src/util/ss/pager.c                                |    2 +-
 src/util/ss/parse.c                                |    8 ++--
 src/util/ss/request_tbl.c                          |    8 ++--
 src/util/ss/requests.c                             |    2 +-
 src/util/ss/utils.c                                |   12 ++--
 src/util/support/mkstemp.c                         |    4 +-
 src/windows/leashdll/timesync.c                    |    4 +-
 93 files changed, 430 insertions(+), 435 deletions(-)

diff --git a/src/appl/user_user/client.c b/src/appl/user_user/client.c
index 28901a6..34d8522 100644
--- a/src/appl/user_user/client.c
+++ b/src/appl/user_user/client.c
@@ -36,7 +36,7 @@
 int main (int argc, char *argv[])
 {
     int s;
-    register int retval, i;
+    int retval, i;
     char *hname;          /* full name of server */
     char **srealms;       /* realm(s) of server */
     char *princ;          /* principal in credentials cache */
diff --git a/src/clients/ksu/main.c b/src/clients/ksu/main.c
index 6fa74a5..d9596d9 100644
--- a/src/clients/ksu/main.c
+++ b/src/clients/ksu/main.c
@@ -932,7 +932,7 @@ cleanup:
 int standard_shell(sh)
     char *sh;
 {
-    register char *cp;
+    char *cp;
     char *getusershell();
 
     while ((cp = getusershell()) != NULL)
diff --git a/src/clients/ksu/setenv.c b/src/clients/ksu/setenv.c
index a7895c6..c7bd369 100644
--- a/src/clients/ksu/setenv.c
+++ b/src/clients/ksu/setenv.c
@@ -57,12 +57,12 @@ extern void unsetenv(char *);
 #ifndef HAVE_SETENV
 int
 setenv(name, value, rewrite)
-    register char *name, *value;
+    char *name, *value;
     int rewrite;
 {
     extern char **environ;
     static int alloced;                     /* if allocated space before */
-    register char *C;
+    char *C;
     int l_value, offset;
 
     if (*value == '=')                      /* no `=' in value */
@@ -77,8 +77,8 @@ setenv(name, value, rewrite)
         }
     }
     else {                                  /* create new slot */
-        register int    cnt;
-        register char   **P;
+        int    cnt;
+        char   **P;
 
         for (P = environ, cnt = 0; *P; ++P, ++cnt);
         if (alloced) {                  /* just increase size */
@@ -119,7 +119,7 @@ unsetenv(name)
     char    *name;
 {
     extern  char    **environ;
-    register char   **P;
+    char   **P;
     int     offset;
 
     while (_findenv(name, &offset))         /* if set multiple times */
@@ -156,12 +156,12 @@ getenv(name)
  */
 static char *
 _findenv(name, offset)
-    register char *name;
+    char *name;
     int *offset;
 {
     extern char **environ;
-    register int len;
-    register char **P, *C;
+    int len;
+    char **P, *C;
 
     for (C = name, len = 0; *C && *C != '='; ++C, ++len);
     for (P = environ; *P; ++P)
diff --git a/src/include/gssrpc/clnt.h b/src/include/gssrpc/clnt.h
index 40f7c69..fc6836c 100644
--- a/src/include/gssrpc/clnt.h
+++ b/src/include/gssrpc/clnt.h
@@ -270,7 +270,7 @@ extern CLIENT *clnt_create(char *, rpcprog_t, rpcvers_t, char *);
  *	struct sockaddr_in *raddr;
  *	rpcprog_t prog;
  *	rpcvers_t version;
- *	register int *sockp;
+ *	int *sockp;
  *	u_int sendsz;
  *	u_int recvsz;
  */
diff --git a/src/include/krb5/krb5.hin b/src/include/krb5/krb5.hin
index 6d99de4..384bb83 100644
--- a/src/include/krb5/krb5.hin
+++ b/src/include/krb5/krb5.hin
@@ -3566,7 +3566,7 @@ krb5_parse_name_flags(krb5_context context, const char *name,
  */
 krb5_error_code KRB5_CALLCONV
 krb5_unparse_name(krb5_context context, krb5_const_principal principal,
-                  register char **name);
+                  char **name);
 
 /**
  * Convert krb5_principal structure to string and length.
@@ -4389,7 +4389,7 @@ krb5_kt_add_entry(krb5_context context, krb5_keytab id, krb5_keytab_entry *entry
  */
 krb5_error_code KRB5_CALLCONV_WRONG
 krb5_principal2salt(krb5_context context,
-                    register krb5_const_principal pr, krb5_data *ret);
+                    krb5_const_principal pr, krb5_data *ret);
 /* librc.spec--see rcache.h */
 
 /* libcc.spec */
@@ -4730,7 +4730,7 @@ krb5_free_ticket(krb5_context context, krb5_ticket *val);
  * This function frees the contents of @a val and the structure itself.
  */
 void KRB5_CALLCONV
-krb5_free_error(krb5_context context, register krb5_error *val);
+krb5_free_error(krb5_context context, krb5_error *val);
 
 /**
  * Free a krb5_creds structure.
@@ -4763,7 +4763,7 @@ krb5_free_cred_contents(krb5_context context, krb5_creds *val);
  * This function frees the contents of @a val and the structure itself.
  */
 void KRB5_CALLCONV
-krb5_free_checksum(krb5_context context, register krb5_checksum *val);
+krb5_free_checksum(krb5_context context, krb5_checksum *val);
 
 /**
  * Free the contents of a krb5_checksum structure.
@@ -4774,7 +4774,7 @@ krb5_free_checksum(krb5_context context, register krb5_checksum *val);
  * This function frees the contents of @a val, but not the structure itself.
  */
 void KRB5_CALLCONV
-krb5_free_checksum_contents(krb5_context context, register krb5_checksum *val);
+krb5_free_checksum_contents(krb5_context context, krb5_checksum *val);
 
 /**
  * Free a krb5_keyblock structure.
@@ -4785,7 +4785,7 @@ krb5_free_checksum_contents(krb5_context context, register krb5_checksum *val);
  * This function frees the contents of @a val and the structure itself.
  */
 void KRB5_CALLCONV
-krb5_free_keyblock(krb5_context context, register krb5_keyblock *val);
+krb5_free_keyblock(krb5_context context, krb5_keyblock *val);
 
 /**
  * Free the contents of a krb5_keyblock structure.
@@ -4796,7 +4796,7 @@ krb5_free_keyblock(krb5_context context, register krb5_keyblock *val);
  * This function frees the contents of @a key, but not the structure itself.
  */
 void KRB5_CALLCONV
-krb5_free_keyblock_contents(krb5_context context, register krb5_keyblock *key);
+krb5_free_keyblock_contents(krb5_context context, krb5_keyblock *key);
 
 /**
  * Free a krb5_ap_rep_enc_part structure.
@@ -4912,7 +4912,7 @@ krb5_us_timeofday(krb5_context context,
  * Kerberos error codes
  */
 krb5_error_code KRB5_CALLCONV
-krb5_timeofday(krb5_context context, register krb5_timestamp *timeret);
+krb5_timeofday(krb5_context context, krb5_timestamp *timeret);
 
 /**
  * Check if a timestamp is within the allowed clock skew of the current time.
diff --git a/src/kadmin/cli/getdate.y b/src/kadmin/cli/getdate.y
index 059f112..cb039ac 100644
--- a/src/kadmin/cli/getdate.y
+++ b/src/kadmin/cli/getdate.y
@@ -689,9 +689,9 @@ RelativeMonth(time_t Start, time_t RelMonth)
 static int
 LookupWord(char *buff)
 {
-    register char	*p;
-    register char	*q;
-    register const TABLE	*tp;
+    char	*p;
+    char	*q;
+    const TABLE	*tp;
     int			i;
     int			abbrev;
 
@@ -786,8 +786,8 @@ LookupWord(char *buff)
 static int
 yylex()
 {
-    register char	c;
-    register char	*p;
+    char		c;
+    char		*p;
     char		buff[20];
     int			Count;
     int			sign;
diff --git a/src/kadmin/dbutil/strtok.c b/src/kadmin/dbutil/strtok.c
index 0640c74..dee466a 100644
--- a/src/kadmin/dbutil/strtok.c
+++ b/src/kadmin/dbutil/strtok.c
@@ -51,11 +51,11 @@
 
 char *
 nstrtok(s, delim)
-    register char *s;
-    register const char *delim;
+    char *s;
+    const char *delim;
 {
-    register const char *spanp;
-    register int c, sc;
+    const char *spanp;
+    int c, sc;
     char *tok;
     static char *last;
 
diff --git a/src/kadmin/server/ipropd_svc.c b/src/kadmin/server/ipropd_svc.c
index e6e1901..6a21fe6 100644
--- a/src/kadmin/server/ipropd_svc.c
+++ b/src/kadmin/server/ipropd_svc.c
@@ -533,7 +533,7 @@ fail_name:
 
 void
 krb5_iprop_prog_1(struct svc_req *rqstp,
-		  register SVCXPRT *transp)
+		  SVCXPRT *transp)
 {
     union {
 	kdb_last_t iprop_get_updates_1_arg;
diff --git a/src/kadmin/server/kadm_rpc_svc.c b/src/kadmin/server/kadm_rpc_svc.c
index e43ca0d..41fc88a 100644
--- a/src/kadmin/server/kadm_rpc_svc.c
+++ b/src/kadmin/server/kadm_rpc_svc.c
@@ -38,7 +38,7 @@ static int check_rpcsec_auth(struct svc_req *);
 
 void kadm_1(rqstp, transp)
    struct svc_req *rqstp;
-   register SVCXPRT *transp;
+   SVCXPRT *transp;
 {
      union {
 	  cprinc_arg create_principal_2_arg;
diff --git a/src/kdc/kdc_util.c b/src/kdc/kdc_util.c
index 1311121..21af360 100644
--- a/src/kdc/kdc_util.c
+++ b/src/kdc/kdc_util.c
@@ -87,8 +87,8 @@ concat_authorization_data(krb5_context context,
                           krb5_authdata **first, krb5_authdata **second,
                           krb5_authdata ***output)
 {
-    register int i, j;
-    register krb5_authdata **ptr, **retdata;
+    int i, j;
+    krb5_authdata **ptr, **retdata;
 
     /* count up the entries */
     i = 0;
@@ -638,7 +638,7 @@ check_anon(kdc_realm_t *kdc_active_realm,
                             KDC_OPT_ENC_TKT_IN_SKEY | KDC_OPT_CNAME_IN_ADDL_TKT)
 int
 validate_as_request(kdc_realm_t *kdc_active_realm,
-                    register krb5_kdc_req *request, krb5_db_entry client,
+                    krb5_kdc_req *request, krb5_db_entry client,
                     krb5_db_entry server, krb5_timestamp kdc_time,
                     const char **status, krb5_pa_data ***e_data)
 {
diff --git a/src/kdc/tgs_policy.c b/src/kdc/tgs_policy.c
index 33cfbcd..4c08e44 100644
--- a/src/kdc/tgs_policy.c
+++ b/src/kdc/tgs_policy.c
@@ -320,7 +320,7 @@ check_tgs_tgt(kdc_realm_t *kdc_active_realm, krb5_kdc_req *req,
 
 int
 validate_tgs_request(kdc_realm_t *kdc_active_realm,
-                     register krb5_kdc_req *request, krb5_db_entry server,
+                     krb5_kdc_req *request, krb5_db_entry server,
                      krb5_ticket *ticket, krb5_timestamp kdc_time,
                      const char **status, krb5_pa_data ***e_data)
 {
diff --git a/src/lib/apputils/net-server.c b/src/lib/apputils/net-server.c
index a40da92..f0955c5 100644
--- a/src/lib/apputils/net-server.c
+++ b/src/lib/apputils/net-server.c
@@ -1452,7 +1452,7 @@ accept_rpc_connection(verto_ctx *ctx, verto_ev *ev)
     verto_ev_flag flags;
     struct connection *conn;
     fd_set fds;
-    register int s;
+    int s;
 
     conn = verto_get_private(ev);
 
diff --git a/src/lib/crypto/builtin/des/destest.c b/src/lib/crypto/builtin/des/destest.c
index dd2f68e..e51351c 100644
--- a/src/lib/crypto/builtin/des/destest.c
+++ b/src/lib/crypto/builtin/des/destest.c
@@ -159,7 +159,7 @@ convert(text, cblock)
     char *text;
     unsigned char cblock[];
 {
-    register int i;
+    int i;
     for (i = 0; i < 8; i++) {
         if (!isascii((unsigned char)text[i * 2]))
             abort ();
@@ -189,7 +189,7 @@ des_cblock_print_file(x, fp)
     FILE *fp;
 {
     unsigned char *y = (unsigned char *) x;
-    register int i = 0;
+    int i = 0;
     fprintf(fp," 0x { ");
 
     while (i++ < 8) {
@@ -212,7 +212,7 @@ des_cblock_print_file(x, fp)
  */
 int
 mit_des_check_key_parity(key)
-    register mit_des_cblock key;
+    mit_des_cblock key;
 {
     unsigned int i;
 
@@ -231,7 +231,7 @@ mit_des_check_key_parity(key)
 
 void
 mit_des_fixup_key_parity(key)
-    register mit_des_cblock key;
+    mit_des_cblock key;
 {
     unsigned int i;
     for (i=0; i<sizeof(mit_des_cblock); i++)
diff --git a/src/lib/crypto/builtin/des/doc/libdes.doc b/src/lib/crypto/builtin/des/doc/libdes.doc
index 70f9f33..19c03c1 100644
--- a/src/lib/crypto/builtin/des/doc/libdes.doc
+++ b/src/lib/crypto/builtin/des/doc/libdes.doc
@@ -157,8 +157,8 @@ int
 
 int
 	string_to_key(str,key)
-	register char		*str;
-	register C_Block	*key;
+	char		*str;
+	C_Block	*key;
 
 	This routines converts an arbitrary length, null terminated string
 	to an 8 byte DES key, with each byte parity set to odd, per FIPS spec.
diff --git a/src/lib/crypto/builtin/des/f_cksum.c b/src/lib/crypto/builtin/des/f_cksum.c
index 4492ce6..cb482b0 100644
--- a/src/lib/crypto/builtin/des/f_cksum.c
+++ b/src/lib/crypto/builtin/des/f_cksum.c
@@ -56,7 +56,7 @@ mit_des_cbc_cksum(const krb5_octet *in, krb5_octet *out,
     const unsigned DES_INT32 *kp;
     const unsigned char *ip;
     unsigned char *op;
-    register DES_INT32 len;
+    DES_INT32 len;
 
     /*
      * Initialize left and right with the contents of the initial
diff --git a/src/lib/crypto/builtin/des/f_sched.c b/src/lib/crypto/builtin/des/f_sched.c
index 89d820f..666a510 100644
--- a/src/lib/crypto/builtin/des/f_sched.c
+++ b/src/lib/crypto/builtin/des/f_sched.c
@@ -241,14 +241,14 @@ static const unsigned DES_INT32 PC2_D[4][64] = {
 int
 mit_des_make_key_sched(mit_des_cblock key, mit_des_key_schedule schedule)
 {
-    register unsigned DES_INT32 c, d;
+    unsigned DES_INT32 c, d;
 
     {
         /*
          * Need a pointer for the keys and a temporary DES_INT32
          */
         const unsigned char *k;
-        register unsigned DES_INT32 tmp;
+        unsigned DES_INT32 tmp;
 
         /*
          * Fetch the key into something we can work with
@@ -288,10 +288,10 @@ mit_des_make_key_sched(mit_des_cblock key, mit_des_key_schedule schedule)
         /*
          * Need several temporaries in here
          */
-        register unsigned DES_INT32 ltmp, rtmp;
-        register unsigned DES_INT32 *k;
-        register int two_bit_shifts;
-        register int i;
+        unsigned DES_INT32 ltmp, rtmp;
+        unsigned DES_INT32 *k;
+        int two_bit_shifts;
+        int i;
         /*
          * Now iterate to compute the key schedule.  Note that we
          * record the entire set of subkeys in 6 bit chunks since
diff --git a/src/lib/crypto/builtin/des/f_tables.h b/src/lib/crypto/builtin/des/f_tables.h
index a99eb0a..fc91b56 100644
--- a/src/lib/crypto/builtin/des/f_tables.h
+++ b/src/lib/crypto/builtin/des/f_tables.h
@@ -156,7 +156,7 @@ extern const unsigned DES_INT32 des_SP_table[8][64];
  * temporary.  Use this more as a guide for rolling your own, though.
  * The best way to do the IP depends on the form of the data you
  * are dealing with.  If you use this, though, try to make left,
- * right and temp register unsigned DES_INT32s.
+ * right and temp unsigned DES_INT32s.
  */
 #define DES_INITIAL_PERM(left, right, temp) do {        \
         (temp) = DES_IP_RIGHT_BITS((left), (right));    \
@@ -228,8 +228,8 @@ extern const unsigned DES_INT32 des_SP_table[8][64];
  */
 #define DES_DO_ENCRYPT_1(left, right, kp)                               \
     do {                                                                \
-        register int i;                                                 \
-        register unsigned DES_INT32 temp1;                              \
+        int i;                                                          \
+        unsigned DES_INT32 temp1;                                       \
         DEB (("do_encrypt %8lX %8lX \n", left, right));                 \
         DES_INITIAL_PERM((left), (right), (temp1));                     \
         DEB (("  after IP %8lX %8lX\n", left, right));                  \
@@ -246,8 +246,8 @@ extern const unsigned DES_INT32 des_SP_table[8][64];
 
 #define DES_DO_DECRYPT_1(left, right, kp)                               \
     do {                                                                \
-        register int i;                                                 \
-        register unsigned DES_INT32 temp2;                              \
+        int i;                                                          \
+        unsigned DES_INT32 temp2;                                       \
         DES_INITIAL_PERM((left), (right), (temp2));                     \
         (kp) += (2 * 16);                                               \
         for (i = 0; i < 8; i++) {                                       \
diff --git a/src/lib/crypto/builtin/des/t_verify.c b/src/lib/crypto/builtin/des/t_verify.c
index 1f3239f..be0e8ad 100644
--- a/src/lib/crypto/builtin/des/t_verify.c
+++ b/src/lib/crypto/builtin/des/t_verify.c
@@ -339,7 +339,7 @@ void
 flip(array)
     char *array;
 {
-    register int old,new,i,j;
+    int old,new,i,j;
     /* flips the bit order within each byte from 0 lsb to 0 msb */
     for (i = 0; i<=7; i++) {
         old = *array;
diff --git a/src/lib/crypto/builtin/md4/md4.c b/src/lib/crypto/builtin/md4/md4.c
index 27d2ad5..f7c16ca 100644
--- a/src/lib/crypto/builtin/md4/md4.c
+++ b/src/lib/crypto/builtin/md4/md4.c
@@ -151,7 +151,7 @@ krb5int_MD4Final (krb5_MD4_CTX *mdContext)
  */
 static void Transform (krb5_ui_4 *buf, krb5_ui_4 *in)
 {
-    register krb5_ui_4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
+    krb5_ui_4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
 
 #if defined(CONFIG_SMALL) && !defined(CONFIG_SMALL_NO_CRYPTO)
     int i;
diff --git a/src/lib/crypto/builtin/md5/md5.c b/src/lib/crypto/builtin/md5/md5.c
index 4a16906..a5e0c82 100644
--- a/src/lib/crypto/builtin/md5/md5.c
+++ b/src/lib/crypto/builtin/md5/md5.c
@@ -189,7 +189,7 @@ krb5int_MD5Final (krb5_MD5_CTX *mdContext)
  */
 static void Transform (krb5_ui_4 *buf, krb5_ui_4 *in)
 {
-    register krb5_ui_4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
+    krb5_ui_4 a = buf[0], b = buf[1], c = buf[2], d = buf[3];
 
 #if defined(CONFIG_SMALL) && !defined(CONFIG_SMALL_NO_CRYPTO)
 
diff --git a/src/lib/crypto/krb/crc32.c b/src/lib/crypto/krb/crc32.c
index d3b1b7a..11fe312 100644
--- a/src/lib/crypto/krb/crc32.c
+++ b/src/lib/crypto/krb/crc32.c
@@ -148,9 +148,9 @@ static u_long const crc_table[256] = {
 void
 mit_crc32(krb5_pointer in, size_t in_length, unsigned long *cksum)
 {
-    register u_char *data;
-    register u_long c = *cksum;
-    register int idx;
+    u_char *data;
+    u_long c = *cksum;
+    int idx;
     size_t i;
 
     data = (u_char *)in;
diff --git a/src/lib/crypto/krb/keyblocks.c b/src/lib/crypto/krb/keyblocks.c
index 98696f5..1126d0a 100644
--- a/src/lib/crypto/krb/keyblocks.c
+++ b/src/lib/crypto/krb/keyblocks.c
@@ -56,7 +56,7 @@ krb5int_c_init_keyblock(krb5_context context, krb5_enctype enctype,
 }
 
 void
-krb5int_c_free_keyblock(krb5_context context, register krb5_keyblock *val)
+krb5int_c_free_keyblock(krb5_context context, krb5_keyblock *val)
 {
     krb5int_c_free_keyblock_contents(context, val);
     free(val);
diff --git a/src/lib/kdb/iprop_xdr.c b/src/lib/kdb/iprop_xdr.c
index 8bf2c89..b866fdf 100644
--- a/src/lib/kdb/iprop_xdr.c
+++ b/src/lib/kdb/iprop_xdr.c
@@ -12,7 +12,7 @@
 static bool_t
 xdr_int16_t (XDR *xdrs, int16_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_short (xdrs, objp))
         return FALSE;
@@ -22,7 +22,7 @@ xdr_int16_t (XDR *xdrs, int16_t *objp)
 static bool_t
 xdr_int32_t (XDR *xdrs, int32_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_int (xdrs, objp))
         return FALSE;
@@ -32,7 +32,7 @@ xdr_int32_t (XDR *xdrs, int32_t *objp)
 static bool_t
 xdr_uint32_t (XDR *xdrs, uint32_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_u_int (xdrs, objp))
         return FALSE;
@@ -42,7 +42,7 @@ xdr_uint32_t (XDR *xdrs, uint32_t *objp)
 bool_t
 xdr_utf8str_t (XDR *xdrs, utf8str_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_bytes (xdrs, (char **)&objp->utf8str_t_val, (u_int *) &objp->utf8str_t_len, ~0))
         return FALSE;
@@ -52,7 +52,7 @@ xdr_utf8str_t (XDR *xdrs, utf8str_t *objp)
 bool_t
 xdr_kdb_sno_t (XDR *xdrs, kdb_sno_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_uint32_t (xdrs, objp))
         return FALSE;
@@ -62,7 +62,7 @@ xdr_kdb_sno_t (XDR *xdrs, kdb_sno_t *objp)
 bool_t
 xdr_kdbe_time_t (XDR *xdrs, kdbe_time_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_uint32_t (xdrs, &objp->seconds))
         return FALSE;
@@ -74,7 +74,7 @@ xdr_kdbe_time_t (XDR *xdrs, kdbe_time_t *objp)
 bool_t
 xdr_kdbe_key_t (XDR *xdrs, kdbe_key_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_int32_t (xdrs, &objp->k_ver))
         return FALSE;
@@ -92,7 +92,7 @@ xdr_kdbe_key_t (XDR *xdrs, kdbe_key_t *objp)
 bool_t
 xdr_kdbe_data_t (XDR *xdrs, kdbe_data_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_int32_t (xdrs, &objp->k_magic))
         return FALSE;
@@ -104,7 +104,7 @@ xdr_kdbe_data_t (XDR *xdrs, kdbe_data_t *objp)
 bool_t
 xdr_kdbe_princ_t (XDR *xdrs, kdbe_princ_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_utf8str_t (xdrs, &objp->k_realm))
         return FALSE;
@@ -119,7 +119,7 @@ xdr_kdbe_princ_t (XDR *xdrs, kdbe_princ_t *objp)
 bool_t
 xdr_kdbe_tl_t (XDR *xdrs, kdbe_tl_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_int16_t (xdrs, &objp->tl_type))
         return FALSE;
@@ -131,7 +131,7 @@ xdr_kdbe_tl_t (XDR *xdrs, kdbe_tl_t *objp)
 bool_t
 xdr_kdbe_pw_hist_t (XDR *xdrs, kdbe_pw_hist_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_array (xdrs, (char **)&objp->kdbe_pw_hist_t_val, (u_int *) &objp->kdbe_pw_hist_t_len, ~0,
                     sizeof (kdbe_key_t), (xdrproc_t) xdr_kdbe_key_t))
@@ -142,7 +142,7 @@ xdr_kdbe_pw_hist_t (XDR *xdrs, kdbe_pw_hist_t *objp)
 bool_t
 xdr_kdbe_attr_type_t (XDR *xdrs, kdbe_attr_type_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
@@ -152,7 +152,7 @@ xdr_kdbe_attr_type_t (XDR *xdrs, kdbe_attr_type_t *objp)
 bool_t
 xdr_kdbe_val_t (XDR *xdrs, kdbe_val_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_kdbe_attr_type_t (xdrs, &objp->av_type))
         return FALSE;
@@ -251,7 +251,7 @@ xdr_kdbe_val_t (XDR *xdrs, kdbe_val_t *objp)
 bool_t
 xdr_kdbe_t (XDR *xdrs, kdbe_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_array (xdrs, (char **)&objp->kdbe_t_val, (u_int *) &objp->kdbe_t_len, ~0,
                     sizeof (kdbe_val_t), (xdrproc_t) xdr_kdbe_val_t))
@@ -262,7 +262,7 @@ xdr_kdbe_t (XDR *xdrs, kdbe_t *objp)
 bool_t
 xdr_kdb_incr_update_t (XDR *xdrs, kdb_incr_update_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_utf8str_t (xdrs, &objp->kdb_princ_name))
         return FALSE;
@@ -287,7 +287,7 @@ xdr_kdb_incr_update_t (XDR *xdrs, kdb_incr_update_t *objp)
 bool_t
 xdr_kdb_ulog_t (XDR *xdrs, kdb_ulog_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_array (xdrs, (char **)&objp->kdb_ulog_t_val, (u_int *) &objp->kdb_ulog_t_len, ~0,
                     sizeof (kdb_incr_update_t), (xdrproc_t) xdr_kdb_incr_update_t))
@@ -298,7 +298,7 @@ xdr_kdb_ulog_t (XDR *xdrs, kdb_ulog_t *objp)
 bool_t
 xdr_update_status_t (XDR *xdrs, update_status_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_enum (xdrs, (enum_t *) objp))
         return FALSE;
@@ -308,7 +308,7 @@ xdr_update_status_t (XDR *xdrs, update_status_t *objp)
 bool_t
 xdr_kdb_last_t (XDR *xdrs, kdb_last_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_kdb_sno_t (xdrs, &objp->last_sno))
         return FALSE;
@@ -320,7 +320,7 @@ xdr_kdb_last_t (XDR *xdrs, kdb_last_t *objp)
 bool_t
 xdr_kdb_incr_result_t (XDR *xdrs, kdb_incr_result_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_kdb_last_t (xdrs, &objp->lastentry))
         return FALSE;
@@ -334,7 +334,7 @@ xdr_kdb_incr_result_t (XDR *xdrs, kdb_incr_result_t *objp)
 bool_t
 xdr_kdb_fullresync_result_t (XDR *xdrs, kdb_fullresync_result_t *objp)
 {
-    register int32_t *buf;
+    int32_t *buf;
 
     if (!xdr_kdb_last_t (xdrs, &objp->lastentry))
         return FALSE;
diff --git a/src/lib/krb5/ccache/cc_mslsa.c b/src/lib/krb5/ccache/cc_mslsa.c
index 0300983..0d00c86 100644
--- a/src/lib/krb5/ccache/cc_mslsa.c
+++ b/src/lib/krb5/ccache/cc_mslsa.c
@@ -1638,8 +1638,8 @@ krb5_lcc_initialize(krb5_context context, krb5_ccache id, krb5_principal princ)
 static krb5_error_code KRB5_CALLCONV
 krb5_lcc_close(krb5_context context, krb5_ccache id)
 {
-    register int closeval = KRB5_OK;
-    register krb5_lcc_data *data;
+    int closeval = KRB5_OK;
+    krb5_lcc_data *data;
 
     if (id) {
         data = (krb5_lcc_data *) id->data;
@@ -1665,7 +1665,7 @@ krb5_lcc_close(krb5_context context, krb5_ccache id)
 static krb5_error_code KRB5_CALLCONV
 krb5_lcc_destroy(krb5_context context, krb5_ccache id)
 {
-    register krb5_lcc_data *data;
+    krb5_lcc_data *data;
 
     if (id) {
         data = (krb5_lcc_data *) id->data;
diff --git a/src/lib/krb5/ccache/ccapi/stdcc_util.c b/src/lib/krb5/ccache/ccapi/stdcc_util.c
index 6092ee4..62d847c 100644
--- a/src/lib/krb5/ccache/ccapi/stdcc_util.c
+++ b/src/lib/krb5/ccache/ccapi/stdcc_util.c
@@ -921,8 +921,8 @@ cc_int32 krb5int_free_cc_cred_union (cred_union** creds)
  */
 static krb5_boolean
 times_match(t1, t2)
-    register const krb5_ticket_times *t1;
-    register const krb5_ticket_times *t2;
+    const krb5_ticket_times *t1;
+    const krb5_ticket_times *t2;
 {
     if (t1->renew_till) {
         if (ts_after(t1->renew_till, t2->renew_till))
@@ -938,7 +938,7 @@ times_match(t1, t2)
 
 static krb5_boolean
 times_match_exact (t1, t2)
-    register const krb5_ticket_times *t1, *t2;
+    const krb5_ticket_times *t1, *t2;
 {
     return (t1->authtime == t2->authtime
             && t1->starttime == t2->starttime
@@ -949,7 +949,7 @@ times_match_exact (t1, t2)
 static krb5_boolean
 standard_fields_match(context, mcreds, creds)
     krb5_context context;
-    register const krb5_creds *mcreds, *creds;
+    const krb5_creds *mcreds, *creds;
 {
     return (krb5_principal_compare(context, mcreds->client,creds->client) &&
             krb5_principal_compare(context, mcreds->server,creds->server));
@@ -960,7 +960,7 @@ standard_fields_match(context, mcreds, creds)
 static krb5_boolean
 srvname_match(context, mcreds, creds)
     krb5_context context;
-    register const krb5_creds *mcreds, *creds;
+    const krb5_creds *mcreds, *creds;
 {
     krb5_boolean retval;
     krb5_principal_data p1, p2;
@@ -1008,7 +1008,7 @@ authdata_match(mdata, data)
 
 static krb5_boolean
 data_match(data1, data2)
-    register const krb5_data *data1, *data2;
+    const krb5_data *data1, *data2;
 {
     if (!data1) {
         if (!data2)
diff --git a/src/lib/krb5/keytab/kt_file.c b/src/lib/krb5/keytab/kt_file.c
index 091f2c4..89cb686 100644
--- a/src/lib/krb5/keytab/kt_file.c
+++ b/src/lib/krb5/keytab/kt_file.c
@@ -1182,7 +1182,7 @@ krb5_ktfileint_internal_read_entry(krb5_context context, krb5_keytab id, krb5_ke
     unsigned int u_count, u_princ_size;
     krb5_int16 enctype;
     krb5_int16 princ_size;
-    register int i;
+    int i;
     krb5_int32 size;
     krb5_int32 start_pos, pos;
     krb5_error_code error;
diff --git a/src/lib/krb5/krb/addr_order.c b/src/lib/krb5/krb/addr_order.c
index e9ea0ba..39c9e1e 100644
--- a/src/lib/krb5/krb/addr_order.c
+++ b/src/lib/krb5/krb/addr_order.c
@@ -38,7 +38,7 @@ int KRB5_CALLCONV
 krb5_address_order(krb5_context context, const krb5_address *addr1, const krb5_address *addr2)
 {
     int dir;
-    register int i;
+    int i;
     const int minlen = min(addr1->length, addr2->length);
 
     if (addr1->addrtype != addr2->addrtype)
diff --git a/src/lib/krb5/krb/authdata.c b/src/lib/krb5/krb/authdata.c
index abb2ab9..8fd1f05 100644
--- a/src/lib/krb5/krb/authdata.c
+++ b/src/lib/krb5/krb/authdata.c
@@ -1299,7 +1299,7 @@ krb5int_copy_authdatum(krb5_context context,
 void KRB5_CALLCONV
 krb5_free_authdata(krb5_context context, krb5_authdata **val)
 {
-    register krb5_authdata **temp;
+    krb5_authdata **temp;
 
     if (val == NULL)
         return;
diff --git a/src/lib/krb5/krb/conv_princ.c b/src/lib/krb5/krb/conv_princ.c
index c33c67d..78fc2f4 100644
--- a/src/lib/krb5/krb/conv_princ.c
+++ b/src/lib/krb5/krb/conv_princ.c
@@ -130,8 +130,8 @@ static const struct krb_convert sconv_list[] = {
  * This falls in the "should have been in the ANSI C library"
  * category. :-)
  */
-static char *strnchr(register char *s, register int c,
-                     register unsigned int n)
+static char *
+strnchr(char *s, int c, unsigned int n)
 {
     if (n < 1)
         return 0;
diff --git a/src/lib/krb5/krb/copy_addrs.c b/src/lib/krb5/krb/copy_addrs.c
index 494bccf..9c9bc7b 100644
--- a/src/lib/krb5/krb/copy_addrs.c
+++ b/src/lib/krb5/krb/copy_addrs.c
@@ -51,7 +51,7 @@ krb5_copy_addresses(krb5_context context, krb5_address *const *inaddr, krb5_addr
 {
     krb5_error_code retval;
     krb5_address ** tempaddr;
-    register unsigned int nelems = 0;
+    unsigned int nelems = 0;
 
     if (!inaddr) {
         *outaddr = 0;
diff --git a/src/lib/krb5/krb/copy_auth.c b/src/lib/krb5/krb/copy_auth.c
index 06a0645..ffb7ee9 100644
--- a/src/lib/krb5/krb/copy_auth.c
+++ b/src/lib/krb5/krb/copy_auth.c
@@ -65,7 +65,7 @@ krb5_merge_authdata(krb5_context context,
 {
     krb5_error_code retval;
     krb5_authdata ** tempauthdat;
-    register unsigned int nelems = 0, nelems2 = 0;
+    unsigned int nelems = 0, nelems2 = 0;
 
     *outauthdat = NULL;
     if (!inauthdat1 && !inauthdat2) {
diff --git a/src/lib/krb5/krb/copy_princ.c b/src/lib/krb5/krb/copy_princ.c
index 0d0e6a0..81b3381 100644
--- a/src/lib/krb5/krb/copy_princ.c
+++ b/src/lib/krb5/krb/copy_princ.c
@@ -32,7 +32,7 @@
 krb5_error_code KRB5_CALLCONV
 krb5_copy_principal(krb5_context context, krb5_const_principal inprinc, krb5_principal *outprinc)
 {
-    register krb5_principal tempprinc;
+    krb5_principal tempprinc;
     krb5_int32 i;
 
     tempprinc = (krb5_principal)malloc(sizeof(krb5_principal_data));
diff --git a/src/lib/krb5/krb/decrypt_tk.c b/src/lib/krb5/krb/decrypt_tk.c
index 51f9e8f..e848554 100644
--- a/src/lib/krb5/krb/decrypt_tk.c
+++ b/src/lib/krb5/krb/decrypt_tk.c
@@ -36,7 +36,8 @@
 */
 
 krb5_error_code KRB5_CALLCONV
-krb5_decrypt_tkt_part(krb5_context context, const krb5_keyblock *srv_key, register krb5_ticket *ticket)
+krb5_decrypt_tkt_part(krb5_context context, const krb5_keyblock *srv_key,
+                      krb5_ticket *ticket)
 {
     krb5_enc_tkt_part *dec_tkt_part;
     krb5_data scratch;
diff --git a/src/lib/krb5/krb/encrypt_tk.c b/src/lib/krb5/krb/encrypt_tk.c
index 7fcd0ff..13a774f 100644
--- a/src/lib/krb5/krb/encrypt_tk.c
+++ b/src/lib/krb5/krb/encrypt_tk.c
@@ -39,11 +39,12 @@
 */
 
 krb5_error_code
-krb5_encrypt_tkt_part(krb5_context context, const krb5_keyblock *srv_key, register krb5_ticket *dec_ticket)
+krb5_encrypt_tkt_part(krb5_context context, const krb5_keyblock *srv_key,
+                      krb5_ticket *dec_ticket)
 {
     krb5_data *scratch;
     krb5_error_code retval;
-    register krb5_enc_tkt_part *dec_tkt_part = dec_ticket->enc_part2;
+    krb5_enc_tkt_part *dec_tkt_part = dec_ticket->enc_part2;
 
     /*  start by encoding the to-be-encrypted part. */
     if ((retval = encode_krb5_enc_tkt_part(dec_tkt_part, &scratch))) {
diff --git a/src/lib/krb5/krb/kfree.c b/src/lib/krb5/krb/kfree.c
index 71e7fca..ab2409f 100644
--- a/src/lib/krb5/krb/kfree.c
+++ b/src/lib/krb5/krb/kfree.c
@@ -66,7 +66,7 @@ krb5_free_address(krb5_context context, krb5_address *val)
 void KRB5_CALLCONV
 krb5_free_addresses(krb5_context context, krb5_address **val)
 {
-    register krb5_address **temp;
+    krb5_address **temp;
 
     if (val == NULL)
         return;
@@ -78,7 +78,7 @@ krb5_free_addresses(krb5_context context, krb5_address **val)
 }
 
 void KRB5_CALLCONV
-krb5_free_ap_rep(krb5_context context, register krb5_ap_rep *val)
+krb5_free_ap_rep(krb5_context context, krb5_ap_rep *val)
 {
     if (val == NULL)
         return;
@@ -87,7 +87,7 @@ krb5_free_ap_rep(krb5_context context, register krb5_ap_rep *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_ap_req(krb5_context context, register krb5_ap_req *val)
+krb5_free_ap_req(krb5_context context, krb5_ap_req *val)
 {
     if (val == NULL)
         return;
@@ -130,7 +130,7 @@ krb5_free_authenticator(krb5_context context, krb5_authenticator *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_checksum(krb5_context context, register krb5_checksum *val)
+krb5_free_checksum(krb5_context context, krb5_checksum *val)
 {
     if (val == NULL)
         return;
@@ -139,7 +139,7 @@ krb5_free_checksum(krb5_context context, register krb5_checksum *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_checksum_contents(krb5_context context, register krb5_checksum *val)
+krb5_free_checksum_contents(krb5_context context, krb5_checksum *val)
 {
     if (val == NULL)
         return;
@@ -148,7 +148,7 @@ krb5_free_checksum_contents(krb5_context context, register krb5_checksum *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_cred(krb5_context context, register krb5_cred *val)
+krb5_free_cred(krb5_context context, krb5_cred *val)
 {
     if (val == NULL)
         return;
@@ -183,9 +183,9 @@ krb5_free_cred_contents(krb5_context context, krb5_creds *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_cred_enc_part(krb5_context context, register krb5_cred_enc_part *val)
+krb5_free_cred_enc_part(krb5_context context, krb5_cred_enc_part *val)
 {
-    register krb5_cred_info **temp;
+    krb5_cred_info **temp;
 
     if (val == NULL)
         return;
@@ -273,7 +273,7 @@ void krb5_free_etype_info(krb5_context context, krb5_etype_info info)
 
 
 void KRB5_CALLCONV
-krb5_free_enc_kdc_rep_part(krb5_context context, register krb5_enc_kdc_rep_part *val)
+krb5_free_enc_kdc_rep_part(krb5_context context, krb5_enc_kdc_rep_part *val)
 {
     if (val == NULL)
         return;
@@ -300,7 +300,7 @@ krb5_free_enc_tkt_part(krb5_context context, krb5_enc_tkt_part *val)
 
 
 void KRB5_CALLCONV
-krb5_free_error(krb5_context context, register krb5_error *val)
+krb5_free_error(krb5_context context, krb5_error *val)
 {
     if (val == NULL)
         return;
@@ -342,13 +342,13 @@ krb5_free_kdc_req(krb5_context context, krb5_kdc_req *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_keyblock_contents(krb5_context context, register krb5_keyblock *key)
+krb5_free_keyblock_contents(krb5_context context, krb5_keyblock *key)
 {
     krb5int_c_free_keyblock_contents (context, key);
 }
 
 void KRB5_CALLCONV
-krb5_free_keyblock(krb5_context context, register krb5_keyblock *val)
+krb5_free_keyblock(krb5_context context, krb5_keyblock *val)
 {
     krb5int_c_free_keyblock (context, val);
 }
@@ -358,7 +358,7 @@ krb5_free_keyblock(krb5_context context, register krb5_keyblock *val)
 void KRB5_CALLCONV
 krb5_free_last_req(krb5_context context, krb5_last_req_entry **val)
 {
-    register krb5_last_req_entry **temp;
+    krb5_last_req_entry **temp;
 
     if (val == NULL)
         return;
@@ -384,7 +384,7 @@ k5_zapfree_pa_data(krb5_pa_data **val)
 void KRB5_CALLCONV
 krb5_free_pa_data(krb5_context context, krb5_pa_data **val)
 {
-    register krb5_pa_data **temp;
+    krb5_pa_data **temp;
 
     if (val == NULL)
         return;
@@ -398,7 +398,7 @@ krb5_free_pa_data(krb5_context context, krb5_pa_data **val)
 void KRB5_CALLCONV
 krb5_free_principal(krb5_context context, krb5_principal val)
 {
-    register krb5_int32 i;
+    krb5_int32 i;
 
     if (!val)
         return;
@@ -414,7 +414,7 @@ krb5_free_principal(krb5_context context, krb5_principal val)
 }
 
 void KRB5_CALLCONV
-krb5_free_priv(krb5_context context, register krb5_priv *val)
+krb5_free_priv(krb5_context context, krb5_priv *val)
 {
     if (val == NULL)
         return;
@@ -423,7 +423,7 @@ krb5_free_priv(krb5_context context, register krb5_priv *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_priv_enc_part(krb5_context context, register krb5_priv_enc_part *val)
+krb5_free_priv_enc_part(krb5_context context, krb5_priv_enc_part *val)
 {
     if (val == NULL)
         return;
@@ -434,7 +434,7 @@ krb5_free_priv_enc_part(krb5_context context, register krb5_priv_enc_part *val)
 }
 
 void KRB5_CALLCONV
-krb5_free_safe(krb5_context context, register krb5_safe *val)
+krb5_free_safe(krb5_context context, krb5_safe *val)
 {
     if (val == NULL)
         return;
@@ -460,7 +460,7 @@ krb5_free_ticket(krb5_context context, krb5_ticket *val)
 void KRB5_CALLCONV
 krb5_free_tickets(krb5_context context, krb5_ticket **val)
 {
-    register krb5_ticket **temp;
+    krb5_ticket **temp;
 
     if (val == NULL)
         return;
@@ -473,7 +473,7 @@ krb5_free_tickets(krb5_context context, krb5_ticket **val)
 void KRB5_CALLCONV
 krb5_free_tgt_creds(krb5_context context, krb5_creds **tgts)
 {
-    register krb5_creds **tgtpp;
+    krb5_creds **tgtpp;
     if (tgts == NULL)
         return;
     for (tgtpp = tgts; *tgtpp; tgtpp++)
diff --git a/src/lib/krb5/krb/pr_to_salt.c b/src/lib/krb5/krb/pr_to_salt.c
index 00d0c73..7bcb627 100644
--- a/src/lib/krb5/krb/pr_to_salt.c
+++ b/src/lib/krb5/krb/pr_to_salt.c
@@ -34,8 +34,7 @@ principal2salt_internal(krb5_context, krb5_const_principal,
  * Convert a krb5_principal into the default salt for that principal.
  */
 static krb5_error_code
-principal2salt_internal(krb5_context context,
-                        register krb5_const_principal pr,
+principal2salt_internal(krb5_context context, krb5_const_principal pr,
                         krb5_data *ret, int use_realm)
 {
     unsigned int size = 0, offset=0;
@@ -69,15 +68,15 @@ principal2salt_internal(krb5_context context,
 }
 
 krb5_error_code
-krb5_principal2salt(krb5_context context,
-                    register krb5_const_principal pr, krb5_data *ret)
+krb5_principal2salt(krb5_context context, krb5_const_principal pr,
+                    krb5_data *ret)
 {
     return principal2salt_internal(context, pr, ret, 1);
 }
 
 krb5_error_code
-krb5_principal2salt_norealm(krb5_context context,
-                            register krb5_const_principal pr, krb5_data *ret)
+krb5_principal2salt_norealm(krb5_context context, krb5_const_principal pr,
+                            krb5_data *ret)
 {
     return principal2salt_internal(context, pr, ret, 0);
 }
diff --git a/src/lib/krb5/krb/unparse.c b/src/lib/krb5/krb/unparse.c
index 5bb64d0..6a54b22 100644
--- a/src/lib/krb5/krb/unparse.c
+++ b/src/lib/krb5/krb/unparse.c
@@ -225,7 +225,8 @@ cleanup:
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_unparse_name(krb5_context context, krb5_const_principal principal, register char **name)
+krb5_unparse_name(krb5_context context, krb5_const_principal principal,
+                  char **name)
 {
     if (name != NULL)                      /* name == NULL will return error from _ext */
         *name = NULL;
diff --git a/src/lib/krb5/krb/walk_rtree.c b/src/lib/krb5/krb/walk_rtree.c
index f4e8e35..4074fe8 100644
--- a/src/lib/krb5/krb/walk_rtree.c
+++ b/src/lib/krb5/krb/walk_rtree.c
@@ -615,7 +615,7 @@ comtail(struct hstate *c, struct hstate *s, int sep)
 void
 krb5_free_realm_tree(krb5_context context, krb5_principal *realms)
 {
-    register krb5_principal *nrealms = realms;
+    krb5_principal *nrealms = realms;
     if (realms == NULL)
         return;
     while (*nrealms) {
diff --git a/src/lib/krb5/os/full_ipadr.c b/src/lib/krb5/os/full_ipadr.c
index 0863cab..61fc74b 100644
--- a/src/lib/krb5/os/full_ipadr.c
+++ b/src/lib/krb5/os/full_ipadr.c
@@ -36,8 +36,8 @@ krb5_make_full_ipaddr(krb5_context context, krb5_int32 adr,
 {
     unsigned long smushaddr = (unsigned long) adr; /* already in net order */
     unsigned short smushport = (unsigned short) port; /* ditto */
-    register krb5_address *retaddr;
-    register krb5_octet *marshal;
+    krb5_address *retaddr;
+    krb5_octet *marshal;
     krb5_addrtype temptype;
     krb5_int32 templength;
 
diff --git a/src/lib/krb5/os/mk_faddr.c b/src/lib/krb5/os/mk_faddr.c
index 2577df3..c7a6ddd 100644
--- a/src/lib/krb5/os/mk_faddr.c
+++ b/src/lib/krb5/os/mk_faddr.c
@@ -38,7 +38,7 @@ krb5_error_code
 krb5_make_fulladdr(krb5_context context, krb5_address *kaddr,
                    krb5_address *kport, krb5_address *raddr)
 {
-    register krb5_octet * marshal;
+    krb5_octet *marshal;
     krb5_int32 tmp32;
     krb5_int16 tmp16;
 
diff --git a/src/lib/krb5/os/net_read.c b/src/lib/krb5/os/net_read.c
index 7e5e954..64a4622 100644
--- a/src/lib/krb5/os/net_read.c
+++ b/src/lib/krb5/os/net_read.c
@@ -37,7 +37,7 @@
  */
 
 int
-krb5_net_read(krb5_context context, int fd, register char *buf, register int len)
+krb5_net_read(krb5_context context, int fd, char *buf, int len)
 {
     int cc, len2 = 0;
 
diff --git a/src/lib/krb5/os/port2ip.c b/src/lib/krb5/os/port2ip.c
index 905d60f..94c0430 100644
--- a/src/lib/krb5/os/port2ip.c
+++ b/src/lib/krb5/os/port2ip.c
@@ -34,7 +34,7 @@ krb5_unpack_full_ipaddr(krb5_context context, const krb5_address *inaddr, krb5_i
 {
     unsigned long smushaddr;
     unsigned short smushport;
-    register krb5_octet *marshal;
+    krb5_octet *marshal;
     krb5_addrtype temptype;
     krb5_ui_4 templength;
 
diff --git a/src/lib/krb5/os/timeofday.c b/src/lib/krb5/os/timeofday.c
index d4e36b1..82fde92 100644
--- a/src/lib/krb5/os/timeofday.c
+++ b/src/lib/krb5/os/timeofday.c
@@ -29,7 +29,7 @@
 #include <time.h>
 
 krb5_error_code KRB5_CALLCONV
-krb5_timeofday(krb5_context context, register krb5_timestamp *timeret)
+krb5_timeofday(krb5_context context, krb5_timestamp *timeret)
 {
     krb5_os_context os_ctx;
     time_t tval;
diff --git a/src/lib/rpc/auth_none.c b/src/lib/rpc/auth_none.c
index de8d6d0..85ddbf7 100644
--- a/src/lib/rpc/auth_none.c
+++ b/src/lib/rpc/auth_none.c
@@ -76,9 +76,9 @@ static struct authnone_private {
 AUTH *
 authnone_create(void)
 {
-	register struct authnone_private *ap = authnone_private;
+	struct authnone_private *ap = authnone_private;
 	XDR xdr_stream;
-	register XDR *xdrs;
+	XDR *xdrs;
 
 	if (ap == 0) {
 		ap = (struct authnone_private *)calloc(1, sizeof (*ap));
@@ -104,7 +104,7 @@ authnone_create(void)
 static bool_t
 authnone_marshal(AUTH *client, XDR *xdrs)
 {
-	register struct authnone_private *ap = authnone_private;
+	struct authnone_private *ap = authnone_private;
 
 	if (ap == 0)
 		return (0);
diff --git a/src/lib/rpc/auth_unix.c b/src/lib/rpc/auth_unix.c
index 6cb998d..7853efa 100644
--- a/src/lib/rpc/auth_unix.c
+++ b/src/lib/rpc/auth_unix.c
@@ -99,15 +99,15 @@ authunix_create(
 	char *machname,
 	int uid,
 	int gid,
-	register int len,
+	int len,
 	int *aup_gids)
 {
 	struct authunix_parms aup;
 	char mymem[MAX_AUTH_BYTES];
 	struct timeval now;
 	XDR xdrs;
-	register AUTH *auth;
-	register struct audata *au;
+	AUTH *auth;
+	struct audata *au;
 
 	/*
 	 * Allocate and set up auth handle
@@ -175,10 +175,10 @@ authunix_create(
 AUTH *
 authunix_create_default(void)
 {
-	register int len;
+	int len;
 	char machname[MAX_MACHINE_NAME + 1];
-	register int uid;
-	register int gid;
+	int uid;
+	int gid;
 	GETGROUPS_T gids[NGRPS];
 	int igids[NGRPS], i;
 
@@ -208,15 +208,15 @@ authunix_nextverf(AUTH *auth)
 static bool_t
 authunix_marshal(AUTH *auth, XDR *xdrs)
 {
-	register struct audata *au = AUTH_PRIVATE(auth);
+	struct audata *au = AUTH_PRIVATE(auth);
 
 	return (XDR_PUTBYTES(xdrs, au->au_marshed, au->au_mpos));
 }
 
 static bool_t
-authunix_validate(register AUTH *auth, struct opaque_auth *verf)
+authunix_validate(AUTH *auth, struct opaque_auth *verf)
 {
-	register struct audata *au;
+	struct audata *au;
 	XDR xdrs;
 
 	if (verf->oa_flavor == AUTH_SHORT) {
@@ -242,13 +242,13 @@ authunix_validate(register AUTH *auth, struct opaque_auth *verf)
 }
 
 static bool_t
-authunix_refresh(register AUTH *auth, struct rpc_msg *msg)
+authunix_refresh(AUTH *auth, struct rpc_msg *msg)
 {
-	register struct audata *au = AUTH_PRIVATE(auth);
+	struct audata *au = AUTH_PRIVATE(auth);
 	struct authunix_parms aup;
 	struct timeval now;
 	XDR xdrs;
-	register int stat;
+	int stat;
 
 	if (auth->ah_cred.oa_base == au->au_origcred.oa_base) {
 		/* there is no hope.  Punt */
@@ -284,9 +284,9 @@ done:
 }
 
 static void
-authunix_destroy(register AUTH *auth)
+authunix_destroy(AUTH *auth)
 {
-	register struct audata *au = AUTH_PRIVATE(auth);
+	struct audata *au = AUTH_PRIVATE(auth);
 
 	mem_free(au->au_origcred.oa_base, au->au_origcred.oa_length);
 
@@ -306,11 +306,11 @@ authunix_destroy(register AUTH *auth)
  * sets private data, au_marshed and au_mpos
  */
 static void
-marshal_new_auth(register AUTH *auth)
+marshal_new_auth(AUTH *auth)
 {
 	XDR		xdr_stream;
-	register XDR	*xdrs = &xdr_stream;
-	register struct audata *au = AUTH_PRIVATE(auth);
+	XDR	*xdrs = &xdr_stream;
+	struct audata *au = AUTH_PRIVATE(auth);
 
 	xdrmem_create(xdrs, au->au_marshed, MAX_AUTH_BYTES, XDR_ENCODE);
 	if ((! xdr_opaque_auth(xdrs, &(auth->ah_cred))) ||
diff --git a/src/lib/rpc/authunix_prot.c b/src/lib/rpc/authunix_prot.c
index 5bc5172..512d5a5 100644
--- a/src/lib/rpc/authunix_prot.c
+++ b/src/lib/rpc/authunix_prot.c
@@ -50,7 +50,7 @@ static char sccsid[] = "@(#)authunix_prot.c 1.15 87/08/11 Copyr 1984 Sun Micro";
  * XDR for unix authentication parameters.
  */
 bool_t
-xdr_authunix_parms(register XDR *xdrs, register struct authunix_parms *p)
+xdr_authunix_parms(XDR *xdrs, struct authunix_parms *p)
 {
 
 	if (xdr_u_int32(xdrs, &(p->aup_time))
diff --git a/src/lib/rpc/clnt_raw.c b/src/lib/rpc/clnt_raw.c
index 1d7fc62..515086b 100644
--- a/src/lib/rpc/clnt_raw.c
+++ b/src/lib/rpc/clnt_raw.c
@@ -140,8 +140,8 @@ clntraw_call(
 	void * resultsp,
 	struct timeval timeout)
 {
-	register struct clntraw_private *clp = clntraw_private;
-	register XDR *xdrs = &clp->xdr_stream;
+	struct clntraw_private *clp = clntraw_private;
+	XDR *xdrs = &clp->xdr_stream;
 	struct rpc_msg msg;
 	enum clnt_stat status;
 	struct rpc_err error;
@@ -236,8 +236,8 @@ clntraw_freeres(
 	xdrproc_t xdr_res,
 	void *res_ptr)
 {
-	register struct clntraw_private *clp = clntraw_private;
-	register XDR *xdrs = &clp->xdr_stream;
+	struct clntraw_private *clp = clntraw_private;
+	XDR *xdrs = &clp->xdr_stream;
 	bool_t rval;
 
 	if (clp == 0)
diff --git a/src/lib/rpc/clnt_simple.c b/src/lib/rpc/clnt_simple.c
index 4ec99ed..39186e5 100644
--- a/src/lib/rpc/clnt_simple.c
+++ b/src/lib/rpc/clnt_simple.c
@@ -70,7 +70,7 @@ callrpc(
 	xdrproc_t outproc,
 	char *out)
 {
-	register struct callrpc_private *crp = callrpc_private;
+	struct callrpc_private *crp = callrpc_private;
 	struct sockaddr_in server_addr;
 	enum clnt_stat clnt_stat;
 	struct hostent *hp;
diff --git a/src/lib/rpc/clnt_tcp.c b/src/lib/rpc/clnt_tcp.c
index 02056fd..8776190 100644
--- a/src/lib/rpc/clnt_tcp.c
+++ b/src/lib/rpc/clnt_tcp.c
@@ -130,7 +130,7 @@ clnttcp_create(
 	u_int recvsz)
 {
 	CLIENT *h;
-	register struct ct_data *ct = 0;
+	struct ct_data *ct = 0;
 	struct timeval now;
 	struct rpc_msg call_msg;
 
@@ -244,7 +244,7 @@ fooy:
 
 static enum clnt_stat
 clnttcp_call(
-	register CLIENT *h,
+	CLIENT *h,
 	rpcproc_t proc,
 	xdrproc_t xdr_args,
 	void * args_ptr,
@@ -252,12 +252,12 @@ clnttcp_call(
 	void * results_ptr,
 	struct timeval timeout)
 {
-	register struct ct_data *ct = (struct ct_data *) h->cl_private;
-	register XDR *xdrs = &(ct->ct_xdrs);
+	struct ct_data *ct = h->cl_private;
+	XDR *xdrs = &ct->ct_xdrs;
 	struct rpc_msg reply_msg;
 	uint32_t x_id;
 	uint32_t *msg_x_id = &ct->ct_u.ct_mcalli;	/* yuk */
-	register bool_t shipnow;
+	bool_t shipnow;
 	int refreshes = 2;
 	long procl = proc;
 
@@ -356,8 +356,7 @@ clnttcp_geterr(
 	CLIENT *h,
 	struct rpc_err *errp)
 {
-	register struct ct_data *ct =
-	    (struct ct_data *) h->cl_private;
+	struct ct_data *ct = h->cl_private;
 
 	*errp = ct->ct_error;
 }
@@ -368,8 +367,8 @@ clnttcp_freeres(
 	xdrproc_t xdr_res,
 	void * res_ptr)
 {
-	register struct ct_data *ct = (struct ct_data *)cl->cl_private;
-	register XDR *xdrs = &(ct->ct_xdrs);
+	struct ct_data *ct = cl->cl_private;
+	XDR *xdrs = &ct->ct_xdrs;
 
 	xdrs->x_op = XDR_FREE;
 	return ((*xdr_res)(xdrs, res_ptr));
@@ -387,7 +386,7 @@ clnttcp_control(
 	int request,
 	void *info)
 {
-	register struct ct_data *ct = (struct ct_data *)cl->cl_private;
+	struct ct_data *ct = cl->cl_private;
 	GETSOCKNAME_ARG3_TYPE len;
 
 	switch (request) {
@@ -417,8 +416,7 @@ clnttcp_control(
 static void
 clnttcp_destroy(CLIENT *h)
 {
-	register struct ct_data *ct =
-	    (struct ct_data *) h->cl_private;
+	struct ct_data *ct = h->cl_private;
 
 	if (ct->ct_closeit)
                 (void)closesocket(ct->ct_sock);
@@ -436,9 +434,9 @@ static int
 readtcp(
         char *ctptr,
 	caddr_t buf,
-	register int len)
+	int len)
 {
-  register struct ct_data *ct = (struct ct_data *)(void *)ctptr;
+  struct ct_data *ct = (void *)ctptr;
   struct timeval tout;
 #ifdef FD_SETSIZE
 	fd_set mask;
@@ -449,7 +447,7 @@ readtcp(
 	FD_ZERO(&mask);
 	FD_SET(ct->ct_sock, &mask);
 #else
-	register int mask = 1 << (ct->ct_sock);
+	int mask = 1 << (ct->ct_sock);
 	int readfds;
 
 	if (len == 0)
@@ -498,7 +496,7 @@ writetcp(
 	int len)
 {
 	struct ct_data *ct = (struct ct_data *)(void *)ctptr;
-	register int i, cnt;
+	int i, cnt;
 
 	for (cnt = len; cnt > 0; cnt -= i, buf += i) {
 		if ((i = write(ct->ct_sock, buf, (size_t) cnt)) == -1) {
diff --git a/src/lib/rpc/clnt_udp.c b/src/lib/rpc/clnt_udp.c
index 7a51916..3d7a459 100644
--- a/src/lib/rpc/clnt_udp.c
+++ b/src/lib/rpc/clnt_udp.c
@@ -121,12 +121,12 @@ clntudp_bufcreate(
 	rpcprog_t program,
 	rpcvers_t version,
 	struct timeval wait,
-	register int *sockp,
+	int *sockp,
 	u_int sendsz,
 	u_int recvsz)
 {
 	CLIENT *cl;
-	register struct cu_data *cu = 0;
+	struct cu_data *cu = 0;
 	struct timeval now;
 	struct rpc_msg call_msg;
 
@@ -217,7 +217,7 @@ clntudp_create(
 	rpcprog_t program,
 	rpcvers_t version,
 	struct timeval wait,
-	register int *sockp)
+	int *sockp)
 {
 
 	return(clntudp_bufcreate(raddr, program, version, wait, sockp,
@@ -226,7 +226,7 @@ clntudp_create(
 
 static enum clnt_stat
 clntudp_call(
-	register CLIENT	*cl,		/* client handle */
+	CLIENT	*cl,			/* client handle */
 	rpcproc_t	proc,		/* procedure number */
 	xdrproc_t	xargs,		/* xdr routine for args */
 	void *		argsp,		/* pointer to args */
@@ -236,17 +236,17 @@ clntudp_call(
 					 * giving up */
 	)
 {
-	register struct cu_data *cu = (struct cu_data *)cl->cl_private;
-	register XDR *xdrs;
-	register int outlen;
-	register ssize_t inlen;
+	struct cu_data *cu = (struct cu_data *)cl->cl_private;
+	XDR *xdrs;
+	int outlen;
+	ssize_t inlen;
 	GETSOCKNAME_ARG3_TYPE fromlen; /* Assumes recvfrom uses same type */
 #ifdef FD_SETSIZE
 	fd_set readfds;
 	fd_set mask;
 #else
 	int readfds;
-	register int mask;
+	int mask;
 #endif /* def FD_SETSIZE */
 	struct sockaddr_in from;
 	struct rpc_msg reply_msg;
@@ -416,7 +416,7 @@ clntudp_geterr(
 	CLIENT *cl,
 	struct rpc_err *errp)
 {
-	register struct cu_data *cu = (struct cu_data *)cl->cl_private;
+	struct cu_data *cu = (struct cu_data *)cl->cl_private;
 
 	*errp = cu->cu_error;
 }
@@ -428,8 +428,8 @@ clntudp_freeres(
 	xdrproc_t xdr_res,
 	void *res_ptr)
 {
-	register struct cu_data *cu = (struct cu_data *)cl->cl_private;
-	register XDR *xdrs = &(cu->cu_outxdrs);
+	struct cu_data *cu = cl->cl_private;
+	XDR *xdrs = &cu->cu_outxdrs;
 
 	xdrs->x_op = XDR_FREE;
 	return ((*xdr_res)(xdrs, res_ptr));
@@ -448,7 +448,7 @@ clntudp_control(
 	int request,
 	void *info)
 {
-	register struct cu_data *cu = (struct cu_data *)cl->cl_private;
+	struct cu_data *cu = cl->cl_private;
 
 	switch (request) {
 	case CLSET_TIMEOUT:
@@ -478,7 +478,7 @@ clntudp_control(
 static void
 clntudp_destroy(CLIENT *cl)
 {
-	register struct cu_data *cu = (struct cu_data *)cl->cl_private;
+	struct cu_data *cu = (struct cu_data *)cl->cl_private;
 
 	if (cu->cu_closeit)
                 (void)closesocket(cu->cu_sock);
diff --git a/src/lib/rpc/getrpcent.c b/src/lib/rpc/getrpcent.c
index db03dae..ad6793f 100644
--- a/src/lib/rpc/getrpcent.c
+++ b/src/lib/rpc/getrpcent.c
@@ -66,7 +66,7 @@ static char RPCDB[] = "/etc/rpc";
 static struct rpcdata *
 get_rpcdata(void)
 {
-	register struct rpcdata *d = rpcdata;
+	struct rpcdata *d = rpcdata;
 
 	if (d == 0) {
 		d = (struct rpcdata *)calloc(1, sizeof (struct rpcdata));
@@ -76,10 +76,10 @@ get_rpcdata(void)
 }
 
 struct rpcent *
-getrpcbynumber(register int number)
+getrpcbynumber(int number)
 {
-	register struct rpcdata *d = get_rpcdata();
-	register struct rpcent *p;
+	struct rpcdata *d = get_rpcdata();
+	struct rpcent *p;
 	int reason;
 	char adrstr[16], *val = NULL;
 	int vallen;
@@ -116,7 +116,7 @@ getrpcbyname(const char *name)
 
 SETRPCENT_TYPE setrpcent(int f)
 {
-	register struct rpcdata *d = _rpcdata();
+	struct rpcdata *d = _rpcdata();
 
 	if (d == 0)
 		return;
@@ -134,7 +134,7 @@ SETRPCENT_TYPE setrpcent(int f)
 
 ENDRPCENT_TYPE endrpcent(void)
 {
-	register struct rpcdata *d = _rpcdata();
+	struct rpcdata *d = _rpcdata();
 
 	if (d == 0)
 		return;
@@ -155,7 +155,7 @@ getrpcent(void)
 	int reason;
 	char *key = NULL, *val = NULL;
 	int keylen, vallen;
-	register struct rpcdata *d = _rpcdata();
+	struct rpcdata *d = _rpcdata();
 
 	if (d == 0)
 		return(NULL);
@@ -172,9 +172,9 @@ getrpcent(void)
 static struct rpcent *
 interpret(char *val, int len)
 {
-	register struct rpcdata *d = _rpcdata();
+	struct rpcdata *d = _rpcdata();
 	char *p;
-	register char *cp, **q;
+	char *cp, **q;
 
 	if (d == 0)
 		return;
diff --git a/src/lib/rpc/pmap_clnt.c b/src/lib/rpc/pmap_clnt.c
index cda40fb..952a251 100644
--- a/src/lib/rpc/pmap_clnt.c
+++ b/src/lib/rpc/pmap_clnt.c
@@ -69,7 +69,7 @@ pmap_set(
 {
 	struct sockaddr_in myaddress;
 	int sock = -1;
-	register CLIENT *client;
+	CLIENT *client;
 	struct pmap parms;
 	bool_t rslt;
 
@@ -149,7 +149,7 @@ pmap_unset(
 {
 	struct sockaddr_in myaddress;
 	int sock = -1;
-	register CLIENT *client;
+	CLIENT *client;
 	struct pmap parms;
 	bool_t rslt;
 
diff --git a/src/lib/rpc/pmap_getmaps.c b/src/lib/rpc/pmap_getmaps.c
index 7790a3a..b8a9cec 100644
--- a/src/lib/rpc/pmap_getmaps.c
+++ b/src/lib/rpc/pmap_getmaps.c
@@ -69,7 +69,7 @@ pmap_getmaps(struct sockaddr_in *address)
 	struct pmaplist *head = (struct pmaplist *)NULL;
 	int sock = -1;
 	struct timeval minutetimeout;
-	register CLIENT *client;
+	CLIENT *client;
 
 	minutetimeout.tv_sec = 60;
 	minutetimeout.tv_usec = 0;
diff --git a/src/lib/rpc/pmap_getport.c b/src/lib/rpc/pmap_getport.c
index 2fdb73c..66635a1 100644
--- a/src/lib/rpc/pmap_getport.c
+++ b/src/lib/rpc/pmap_getport.c
@@ -68,7 +68,7 @@ pmap_getport(
 {
 	unsigned short port = 0;
 	int sock = -1;
-	register CLIENT *client;
+	CLIENT *client;
 	struct pmap parms;
 
 	address->sin_port = htons(PMAPPORT);
diff --git a/src/lib/rpc/pmap_prot2.c b/src/lib/rpc/pmap_prot2.c
index 7fd7d3e..aeccac6 100644
--- a/src/lib/rpc/pmap_prot2.c
+++ b/src/lib/rpc/pmap_prot2.c
@@ -84,7 +84,7 @@ static char sccsid[] = "@(#)pmap_prot2.c 1.3 87/08/11 Copyr 1984 Sun Micro";
  * this sounds like a job for xdr_reference!
  */
 bool_t
-xdr_pmaplist(register XDR *xdrs, register struct pmaplist **rp)
+xdr_pmaplist(XDR *xdrs, struct pmaplist **rp)
 {
 	/*
 	 * more_elements is pre-computed in case the direction is
@@ -92,8 +92,8 @@ xdr_pmaplist(register XDR *xdrs, register struct pmaplist **rp)
 	 * xdr_bool when the direction is XDR_DECODE.
 	 */
 	bool_t more_elements;
-	register int freeing = (xdrs->x_op == XDR_FREE);
-	register struct pmaplist **next = NULL;
+	int freeing = (xdrs->x_op == XDR_FREE);
+	struct pmaplist **next = NULL;
 
 	while (TRUE) {
 		more_elements = (bool_t)(*rp != NULL);
diff --git a/src/lib/rpc/pmap_rmt.c b/src/lib/rpc/pmap_rmt.c
index 4829e3f..8c7e30c 100644
--- a/src/lib/rpc/pmap_rmt.c
+++ b/src/lib/rpc/pmap_rmt.c
@@ -89,7 +89,7 @@ pmap_rmtcall(
 	rpcport_t *port_ptr)
 {
         SOCKET sock = INVALID_SOCKET;
-	register CLIENT *client;
+	CLIENT *client;
 	struct rmtcallargs a;
 	struct rmtcallres r;
 	enum clnt_stat stat;
@@ -123,8 +123,8 @@ pmap_rmtcall(
  */
 bool_t
 xdr_rmtcall_args(
-	register XDR *xdrs,
-	register struct rmtcallargs *cap)
+	XDR *xdrs,
+	struct rmtcallargs *cap)
 {
 	u_int lenposition, argposition, position;
 
@@ -154,8 +154,8 @@ xdr_rmtcall_args(
  */
 bool_t
 xdr_rmtcallres(
-	register XDR *xdrs,
-	register struct rmtcallres *crp)
+	XDR *xdrs,
+	struct rmtcallres *crp)
 {
 	caddr_t port_ptr;
 
@@ -237,7 +237,7 @@ clnt_broadcast(
 	enum clnt_stat stat;
 	AUTH *unix_auth = authunix_create_default();
 	XDR xdr_stream;
-	register XDR *xdrs = &xdr_stream;
+	XDR *xdrs = &xdr_stream;
 	int outlen, nets;
 	ssize_t inlen;
 	GETSOCKNAME_ARG3_TYPE fromlen;
@@ -248,11 +248,11 @@ clnt_broadcast(
 	fd_set readfds;
 #else
 	int readfds;
-	register int mask;
+	int mask;
 #endif /* def FD_SETSIZE */
-	register int i;
+	int i;
 	bool_t done = FALSE;
-	register uint32_t xid;
+	uint32_t xid;
 	rpcport_t port;
 	struct in_addr addrs[20];
 	struct sockaddr_in baddr, raddr; /* broadcast and response addresses */
diff --git a/src/lib/rpc/rpc_callmsg.c b/src/lib/rpc/rpc_callmsg.c
index 6752524..27d298f 100644
--- a/src/lib/rpc/rpc_callmsg.c
+++ b/src/lib/rpc/rpc_callmsg.c
@@ -47,10 +47,10 @@ static char sccsid[] = "@(#)rpc_callmsg.c 1.4 87/08/11 Copyr 1984 Sun Micro";
  * XDR a call message
  */
 bool_t
-xdr_callmsg(register XDR *xdrs, register struct rpc_msg *cmsg)
+xdr_callmsg(XDR *xdrs, struct rpc_msg *cmsg)
 {
-	register rpc_inline_t *buf;
-	register struct opaque_auth *oa;
+	rpc_inline_t *buf;
+	struct opaque_auth *oa;
 
 	if (xdrs->x_op == XDR_ENCODE) {
 		if (cmsg->rm_call.cb_cred.oa_length > MAX_AUTH_BYTES) {
diff --git a/src/lib/rpc/svc.c b/src/lib/rpc/svc.c
index e923ac0..c171ecc 100644
--- a/src/lib/rpc/svc.c
+++ b/src/lib/rpc/svc.c
@@ -96,7 +96,7 @@ static void svc_do_xprt(SVCXPRT *xprt);
 void
 xprt_register(SVCXPRT *xprt)
 {
-	register int sock = xprt->xp_sock;
+	int sock = xprt->xp_sock;
 
 #ifdef FD_SETSIZE
 	if (gssrpc_svc_fdset_init == 0) {
@@ -130,7 +130,7 @@ xprt_register(SVCXPRT *xprt)
 void
 xprt_unregister(SVCXPRT *xprt)
 {
-	register int sock = xprt->xp_sock;
+	int sock = xprt->xp_sock;
 
 #ifdef FD_SETSIZE
 	if ((sock < FD_SETSIZE) && (xports[sock] == xprt)) {
@@ -166,7 +166,7 @@ svc_register(
 	int protocol)
 {
 	struct svc_callout *prev;
-	register struct svc_callout *s;
+	struct svc_callout *s;
 
 	if ((s = svc_find(prog, vers, &prev)) != NULL_SVC) {
 		if (s->sc_dispatch == dispatch)
@@ -199,7 +199,7 @@ svc_unregister(
 	rpcvers_t vers)
 {
 	struct svc_callout *prev;
-	register struct svc_callout *s;
+	struct svc_callout *s;
 
 	if ((s = svc_find(prog, vers, &prev)) == NULL_SVC)
 		return;
@@ -224,7 +224,7 @@ svc_find(
 	rpcvers_t vers,
 	struct svc_callout **prev)
 {
-	register struct svc_callout *s, *p;
+	struct svc_callout *s, *p;
 
 	p = NULL_SVC;
 	for (s = svc_head; s != NULL_SVC; s = s->sc_next) {
@@ -244,7 +244,7 @@ done:
  */
 bool_t
 svc_sendreply(
-	register SVCXPRT *xprt,
+	SVCXPRT *xprt,
 	xdrproc_t xdr_results,
 	caddr_t xdr_location)
 {
@@ -263,7 +263,7 @@ svc_sendreply(
  * No procedure error reply
  */
 void
-svcerr_noproc(register SVCXPRT *xprt)
+svcerr_noproc(SVCXPRT *xprt)
 {
 	struct rpc_msg rply;
 
@@ -278,7 +278,7 @@ svcerr_noproc(register SVCXPRT *xprt)
  * Can't decode args error reply
  */
 void
-svcerr_decode(register SVCXPRT *xprt)
+svcerr_decode(SVCXPRT *xprt)
 {
 	struct rpc_msg rply;
 
@@ -293,7 +293,7 @@ svcerr_decode(register SVCXPRT *xprt)
  * Some system error
  */
 void
-svcerr_systemerr(register SVCXPRT *xprt)
+svcerr_systemerr(SVCXPRT *xprt)
 {
 	struct rpc_msg rply;
 
@@ -335,7 +335,7 @@ svcerr_weakauth(SVCXPRT *xprt)
  * Program unavailable error reply
  */
 void
-svcerr_noprog(register SVCXPRT *xprt)
+svcerr_noprog(SVCXPRT *xprt)
 {
 	struct rpc_msg rply;
 
@@ -351,7 +351,7 @@ svcerr_noprog(register SVCXPRT *xprt)
  */
 void
 svcerr_progvers(
-	register SVCXPRT *xprt,
+	SVCXPRT *xprt,
 	rpcvers_t low_vers,
 	rpcvers_t high_vers)
 {
@@ -417,8 +417,8 @@ svc_getreqset(FDSET_TYPE *readfds)
 #ifndef FD_SETSIZE
 	int readfds_local = *readfds;
 #endif
-	register SVCXPRT *xprt;
-	register int sock;
+	SVCXPRT *xprt;
+	int sock;
 
 #ifdef FD_SETSIZE
 	for (sock = 0; sock <= svc_maxfd; sock++) {
@@ -467,7 +467,7 @@ svc_do_xprt(SVCXPRT *xprt)
 	r.rq_clntcred = cookedcred;
 
 	do {
-		register struct svc_callout *s;
+		struct svc_callout *s;
 		enum auth_stat why;
 
 		if (!SVC_RECV(xprt, &msg))
diff --git a/src/lib/rpc/svc_auth.c b/src/lib/rpc/svc_auth.c
index 5fedef7..c1967bc 100644
--- a/src/lib/rpc/svc_auth.c
+++ b/src/lib/rpc/svc_auth.c
@@ -47,8 +47,8 @@
  *
  *	enum auth_stat
  *	flavorx_auth(rqst, msg)
- *		register struct svc_req *rqst;
- *		register struct rpc_msg *msg;
+ *		struct svc_req *rqst;
+ *		struct rpc_msg *msg;
  *
  */
 
@@ -85,11 +85,11 @@ static int svcauthnum = sizeof(svcauthsw) / sizeof(struct svcauthsw_type);
  */
 enum auth_stat
 gssrpc__authenticate(
-	register struct svc_req *rqst,
+	struct svc_req *rqst,
 	struct rpc_msg *msg,
 	bool_t *no_dispatch)
 {
-	register int cred_flavor, i;
+	int cred_flavor, i;
 
 	rqst->rq_cred = msg->rm_call.cb_cred;
 	rqst->rq_xprt->xp_verf.oa_flavor = gssrpc__null_auth.oa_flavor;
diff --git a/src/lib/rpc/svc_auth_gssapi.c b/src/lib/rpc/svc_auth_gssapi.c
index f3b3e35..182262e 100644
--- a/src/lib/rpc/svc_auth_gssapi.c
+++ b/src/lib/rpc/svc_auth_gssapi.c
@@ -154,8 +154,8 @@ badauth(OM_uint32 maj, OM_uint32 minor, SVCXPRT *xprt)
 }
 
 enum auth_stat gssrpc__svcauth_gssapi(
-     register struct svc_req *rqst,
-     register struct rpc_msg *msg,
+     struct svc_req *rqst,
+     struct rpc_msg *msg,
      bool_t *no_dispatch)
 {
      XDR xdrs;
diff --git a/src/lib/rpc/svc_auth_unix.c b/src/lib/rpc/svc_auth_unix.c
index a4b87d8..ee3057e 100644
--- a/src/lib/rpc/svc_auth_unix.c
+++ b/src/lib/rpc/svc_auth_unix.c
@@ -53,14 +53,14 @@ static char sccsid[] = "@(#)svc_auth_unix.c 1.28 88/02/08 Copyr 1984 Sun Micro";
  */
 enum auth_stat
 gssrpc__svcauth_unix(
-	register struct svc_req *rqst,
-	register struct rpc_msg *msg,
+	struct svc_req *rqst,
+	struct rpc_msg *msg,
 	bool_t *dispatch)
 {
-	register enum auth_stat stat;
+	enum auth_stat stat;
 	XDR xdrs;
-	register struct authunix_parms *aup;
-	register rpc_inline_t *buf;
+	struct authunix_parms *aup;
+	rpc_inline_t *buf;
 	struct area {
 		struct authunix_parms area_aup;
 		char area_machname[MAX_MACHINE_NAME+1];
diff --git a/src/lib/rpc/svc_raw.c b/src/lib/rpc/svc_raw.c
index ef5f3d3..dba6c29 100644
--- a/src/lib/rpc/svc_raw.c
+++ b/src/lib/rpc/svc_raw.c
@@ -74,7 +74,7 @@ static struct xp_ops server_ops = {
 SVCXPRT *
 svcraw_create(void)
 {
-	register struct svcraw_private *srp = svcraw_private;
+	struct svcraw_private *srp = svcraw_private;
 
 	if (srp == 0) {
 		srp = (struct svcraw_private *)calloc(1, sizeof (*srp));
@@ -100,8 +100,8 @@ svcraw_stat(SVCXPRT *xprt)
 static bool_t
 svcraw_recv(SVCXPRT *xprt, struct rpc_msg *msg)
 {
-	register struct svcraw_private *srp = svcraw_private;
-	register XDR *xdrs;
+	struct svcraw_private *srp = svcraw_private;
+	XDR *xdrs;
 
 	if (srp == 0)
 		return (0);
@@ -116,8 +116,8 @@ svcraw_recv(SVCXPRT *xprt, struct rpc_msg *msg)
 static bool_t
 svcraw_reply(SVCXPRT *xprt, struct rpc_msg *msg)
 {
-	register struct svcraw_private *srp = svcraw_private;
-	register XDR *xdrs;
+	struct svcraw_private *srp = svcraw_private;
+	XDR *xdrs;
 
 	if (srp == 0)
 		return (FALSE);
@@ -133,7 +133,7 @@ svcraw_reply(SVCXPRT *xprt, struct rpc_msg *msg)
 static bool_t
 svcraw_getargs(SVCXPRT *xprt, xdrproc_t xdr_args, void *args_ptr)
 {
-	register struct svcraw_private *srp = svcraw_private;
+	struct svcraw_private *srp = svcraw_private;
 
 	if (srp == 0)
 		return (FALSE);
@@ -147,8 +147,8 @@ svcraw_getargs(SVCXPRT *xprt, xdrproc_t xdr_args, void *args_ptr)
 static bool_t
 svcraw_freeargs(SVCXPRT *xprt, xdrproc_t xdr_args, void *args_ptr)
 {
-	register struct svcraw_private *srp = svcraw_private;
-	register XDR *xdrs;
+	struct svcraw_private *srp = svcraw_private;
+	XDR *xdrs;
 
 	if (srp == 0)
 		return (FALSE);
diff --git a/src/lib/rpc/svc_tcp.c b/src/lib/rpc/svc_tcp.c
index d78cf55..54ce70e 100644
--- a/src/lib/rpc/svc_tcp.c
+++ b/src/lib/rpc/svc_tcp.c
@@ -141,8 +141,8 @@ svctcp_create(
 	u_int recvsize)
 {
 	bool_t madesock = FALSE;
-	register SVCXPRT *xprt;
-	register struct tcp_rendezvous *r;
+	SVCXPRT *xprt;
+	struct tcp_rendezvous *r;
 	struct sockaddr_storage ss;
 	struct sockaddr *sa = (struct sockaddr *)&ss;
 	socklen_t len;
@@ -225,8 +225,8 @@ makefd_xprt(
 	u_int sendsize,
 	u_int recvsize)
 {
-	register SVCXPRT *xprt;
-	register struct tcp_conn *cd;
+	SVCXPRT *xprt;
+	struct tcp_conn *cd;
 
 #ifdef FD_SETSIZE
 	if (fd >= FD_SETSIZE) {
@@ -272,7 +272,7 @@ makefd_xprt(
 
 static bool_t
 rendezvous_request(
-	register SVCXPRT *xprt,
+	SVCXPRT *xprt,
 	struct rpc_msg *msg)
 {
         SOCKET sock;
@@ -309,16 +309,16 @@ rendezvous_request(
 }
 
 static enum xprt_stat
-rendezvous_stat(register SVCXPRT *xprt)
+rendezvous_stat(SVCXPRT *xprt)
 {
 
 	return (XPRT_IDLE);
 }
 
 static void
-svctcp_destroy(register SVCXPRT *xprt)
+svctcp_destroy(SVCXPRT *xprt)
 {
-	register struct tcp_conn *cd = (struct tcp_conn *)xprt->xp_p1;
+	struct tcp_conn *cd = xprt->xp_p1;
 
 	xprt_unregister(xprt);
         (void)closesocket(xprt->xp_sock);
@@ -352,10 +352,10 @@ static int
 readtcp(
         char *xprtptr,
 	caddr_t buf,
-	register int len)
+	int len)
 {
-	register SVCXPRT *xprt = (SVCXPRT *)(void *)xprtptr;
-	register int sock = xprt->xp_sock;
+	SVCXPRT *xprt = (void *)xprtptr;
+	int sock = xprt->xp_sock;
 	struct timeval tout;
 #ifdef FD_SETSIZE
 	fd_set mask;
@@ -364,7 +364,7 @@ readtcp(
 	FD_ZERO(&mask);
 	FD_SET(sock, &mask);
 #else
-	register int mask = 1 << sock;
+	int mask = 1 << sock;
 	int readfds;
 #endif /* def FD_SETSIZE */
 #ifdef FD_SETSIZE
@@ -401,8 +401,8 @@ writetcp(
 	caddr_t buf,
 	int len)
 {
-	register SVCXPRT *xprt = (SVCXPRT *)(void *) xprtptr;
-	register int i, cnt;
+	SVCXPRT *xprt = (void *)xprtptr;
+	int i, cnt;
 
 	for (cnt = len; cnt > 0; cnt -= i, buf += i) {
 		if ((i = write(xprt->xp_sock, buf, (size_t) cnt)) < 0) {
@@ -417,8 +417,7 @@ writetcp(
 static enum xprt_stat
 svctcp_stat(SVCXPRT *xprt)
 {
-	register struct tcp_conn *cd =
-	    (struct tcp_conn *)(xprt->xp_p1);
+	struct tcp_conn *cd = xprt->xp_p1;
 
 	if (cd->strm_stat == XPRT_DIED)
 		return (XPRT_DIED);
@@ -430,11 +429,10 @@ svctcp_stat(SVCXPRT *xprt)
 static bool_t
 svctcp_recv(
 	SVCXPRT *xprt,
-	register struct rpc_msg *msg)
+	struct rpc_msg *msg)
 {
-	register struct tcp_conn *cd =
-	    (struct tcp_conn *)(xprt->xp_p1);
-	register XDR *xdrs = &(cd->xdrs);
+	struct tcp_conn *cd = xprt->xp_p1;
+	XDR *xdrs = &cd->xdrs;
 
 	xdrs->x_op = XDR_DECODE;
 	(void)xdrrec_skiprecord(xdrs);
@@ -466,8 +464,7 @@ svctcp_freeargs(
 	xdrproc_t xdr_args,
 	void * args_ptr)
 {
-	register XDR *xdrs =
-	    &(((struct tcp_conn *)(xprt->xp_p1))->xdrs);
+	XDR *xdrs = &((struct tcp_conn *)(xprt->xp_p1))->xdrs;
 
 	xdrs->x_op = XDR_FREE;
 	return ((*xdr_args)(xdrs, args_ptr));
@@ -475,12 +472,11 @@ svctcp_freeargs(
 
 static bool_t svctcp_reply(
 	SVCXPRT *xprt,
-	register struct rpc_msg *msg)
+	struct rpc_msg *msg)
 {
-	register struct tcp_conn *cd =
-		(struct tcp_conn *)(xprt->xp_p1);
-	register XDR *xdrs = &(cd->xdrs);
-	register bool_t stat;
+	struct tcp_conn *cd = xprt->xp_p1;
+	XDR *xdrs = &cd->xdrs;
+	bool_t stat;
 
 	xdrproc_t xdr_results = NULL;
 	caddr_t xdr_location = 0;
diff --git a/src/lib/rpc/svc_udp.c b/src/lib/rpc/svc_udp.c
index f70bf01..d3140df 100644
--- a/src/lib/rpc/svc_udp.c
+++ b/src/lib/rpc/svc_udp.c
@@ -108,13 +108,13 @@ struct svcudp_data {
  */
 SVCXPRT *
 svcudp_bufcreate(
-	register int sock,
+	int sock,
 	u_int sendsz,
 	u_int recvsz)
 {
 	bool_t madesock = FALSE;
-	register SVCXPRT *xprt;
-	register struct svcudp_data *su;
+	SVCXPRT *xprt;
+	struct svcudp_data *su;
 	struct sockaddr_storage ss;
 	struct sockaddr *sa = (struct sockaddr *)&ss;
 	socklen_t len;
@@ -191,14 +191,14 @@ svcudp_stat(SVCXPRT *xprt)
 
 static bool_t
 svcudp_recv(
-	register SVCXPRT *xprt,
+	SVCXPRT *xprt,
 	struct rpc_msg *msg)
 {
         struct msghdr dummy;
 	struct iovec dummy_iov[1];
-	register struct svcudp_data *su = su_data(xprt);
-	register XDR *xdrs = &(su->su_xdrs);
-	register int rlen;
+	struct svcudp_data *su = su_data(xprt);
+	XDR *xdrs = &su->su_xdrs;
+	int rlen;
 	char *reply;
 	uint32_t replylen;
 	socklen_t addrlen;
@@ -243,13 +243,13 @@ svcudp_recv(
 }
 
 static bool_t svcudp_reply(
-	register SVCXPRT *xprt,
+	SVCXPRT *xprt,
 	struct rpc_msg *msg)
 {
-     register struct svcudp_data *su = su_data(xprt);
-     register XDR *xdrs = &(su->su_xdrs);
-     register int slen;
-     register bool_t stat = FALSE;
+     struct svcudp_data *su = su_data(xprt);
+     XDR *xdrs = &su->su_xdrs;
+     int slen;
+     bool_t stat = FALSE;
 
      xdrproc_t xdr_results = NULL;
      caddr_t xdr_location = 0;
@@ -305,16 +305,16 @@ svcudp_freeargs(
 	xdrproc_t xdr_args,
 	void * args_ptr)
 {
-	register XDR *xdrs = &(su_data(xprt)->su_xdrs);
+	XDR *xdrs = &su_data(xprt)->su_xdrs;
 
 	xdrs->x_op = XDR_FREE;
 	return ((*xdr_args)(xdrs, args_ptr));
 }
 
 static void
-svcudp_destroy(register SVCXPRT *xprt)
+svcudp_destroy(SVCXPRT *xprt)
 {
-	register struct svcudp_data *su = su_data(xprt);
+	struct svcudp_data *su = su_data(xprt);
 
 	xprt_unregister(xprt);
         if (xprt->xp_sock != INVALID_SOCKET)
@@ -446,9 +446,9 @@ cache_set(
 	SVCXPRT *xprt,
 	uint32_t replylen)
 {
-	register cache_ptr victim;
-	register cache_ptr *vicp;
-	register struct svcudp_data *su = su_data(xprt);
+	cache_ptr victim;
+	cache_ptr *vicp;
+	struct svcudp_data *su = su_data(xprt);
 	struct udp_cache *uc = (struct udp_cache *) su->su_cache;
 	u_int loc;
 	char *newbuf;
@@ -514,9 +514,9 @@ cache_get(
 	uint32_t *replylenp)
 {
 	u_int loc;
-	register cache_ptr ent;
-	register struct svcudp_data *su = su_data(xprt);
-	register struct udp_cache *uc = (struct udp_cache *) su->su_cache;
+	cache_ptr ent;
+	struct svcudp_data *su = su_data(xprt);
+	struct udp_cache *uc = su->su_cache;
 
 #	define EQADDR(a1, a2) (memcmp((char*)&a1, (char*)&a2, sizeof(a1)) == 0)
 
diff --git a/src/lib/rpc/unit-test/rpc_test_svc.c b/src/lib/rpc/unit-test/rpc_test_svc.c
index 88939f0..c54c081 100644
--- a/src/lib/rpc/unit-test/rpc_test_svc.c
+++ b/src/lib/rpc/unit-test/rpc_test_svc.c
@@ -16,7 +16,7 @@ static int _rpcsvccount = 0;		/* Number of requests being serviced */
 void
 rpc_test_prog_1_svc(rqstp, transp)
 	struct svc_req *rqstp;
-	register SVCXPRT *transp;
+	SVCXPRT *transp;
 {
 	union {
 		char *rpc_test_echo_1_arg;
diff --git a/src/lib/rpc/unit-test/server.c b/src/lib/rpc/unit-test/server.c
index 7451558..13e99bb 100644
--- a/src/lib/rpc/unit-test/server.c
+++ b/src/lib/rpc/unit-test/server.c
@@ -60,7 +60,7 @@ main(int argc, char **argv)
 {
      int c, prot;
      auth_gssapi_name names[2];
-     register SVCXPRT *transp;
+     SVCXPRT *transp;
      extern int optind;
 #ifdef POSIX_SIGNALS
      struct sigaction sa;
diff --git a/src/lib/rpc/xdr.c b/src/lib/rpc/xdr.c
index 2b7c17b..8c14ddc 100644
--- a/src/lib/rpc/xdr.c
+++ b/src/lib/rpc/xdr.c
@@ -212,7 +212,7 @@ xdr_u_long(XDR *xdrs, u_long *ulp)
  * XDR short integers
  */
 bool_t
-xdr_short(register XDR *xdrs, short *sp)
+xdr_short(XDR *xdrs, short *sp)
 {
 	long l;
 
@@ -243,7 +243,7 @@ xdr_short(register XDR *xdrs, short *sp)
  * XDR unsigned short integers
  */
 bool_t
-xdr_u_short(register XDR *xdrs, u_short *usp)
+xdr_u_short(XDR *xdrs, u_short *usp)
 {
 	u_long l;
 
@@ -318,7 +318,7 @@ xdr_u_char(XDR *xdrs, u_char *cp)
  * XDR booleans
  */
 bool_t
-xdr_bool(register XDR *xdrs, bool_t *bp)
+xdr_bool(XDR *xdrs, bool_t *bp)
 {
 	long lb;
 
@@ -384,7 +384,7 @@ xdr_enum(XDR *xdrs, enum_t *ep)
 bool_t
 xdr_opaque(XDR *xdrs, caddr_t cp, u_int cnt)
 {
-	register u_int rndup;
+	u_int rndup;
 	static int crud[BYTES_PER_XDR_UNIT];
 
 	/*
@@ -438,8 +438,8 @@ xdr_bytes(
 	u_int *sizep,
 	u_int maxsize)
 {
-	register char *sp = *cpp;  /* sp is the actual string pointer */
-	register u_int nodesize;
+	char *sp = *cpp;  /* sp is the actual string pointer */
+	u_int nodesize;
 
 	/*
 	 * first deal with the length since xdr bytes are counted
@@ -563,7 +563,7 @@ xdr_union(
 	xdrproc_t dfault	/* default xdr routine */
 	)
 {
-	register enum_t dscm;
+	enum_t dscm;
 
 	/*
 	 * we deal with the discriminator;  it's an enum
@@ -607,7 +607,7 @@ xdr_union(
 bool_t
 xdr_string(XDR *xdrs, char **cpp, u_int maxsize)
 {
-	register char *sp = *cpp;  /* sp is the actual string pointer */
+	char *sp = *cpp;	/* sp is the actual string pointer */
 	u_int size;
 	u_int nodesize;
 
diff --git a/src/lib/rpc/xdr_alloc.c b/src/lib/rpc/xdr_alloc.c
index 8c58cff..f39210e 100644
--- a/src/lib/rpc/xdr_alloc.c
+++ b/src/lib/rpc/xdr_alloc.c
@@ -86,14 +86,14 @@ static void xdralloc_destroy(XDR *xdrs)
 }
 
 static bool_t xdralloc_notsup_getlong(
-     register XDR *xdrs,
+     XDR *xdrs,
      long *lp)
 {
      return FALSE;
 }
 
 static bool_t xdralloc_putlong(
-     register XDR *xdrs,
+     XDR *xdrs,
      long *lp)
 {
      int l = htonl((uint32_t) *lp); /* XXX need bounds checking */
@@ -108,18 +108,18 @@ static bool_t xdralloc_putlong(
 
 
 static bool_t xdralloc_notsup_getbytes(
-     register XDR *xdrs,
+     XDR *xdrs,
      caddr_t addr,
-     register unsigned int len)
+     unsigned int len)
 {
      return FALSE;
 }
 
 
 static bool_t xdralloc_putbytes(
-     register XDR *xdrs,
+     XDR *xdrs,
      caddr_t addr,
-     register unsigned int len)
+     unsigned int len)
 {
      if (DynInsert((DynObject) xdrs->x_private,
 		   DynSize((DynObject) xdrs->x_private),
@@ -134,7 +134,7 @@ static unsigned int xdralloc_getpos(XDR *xdrs)
 }
 
 static bool_t xdralloc_notsup_setpos(
-     register XDR *xdrs,
+     XDR *xdrs,
      unsigned int lp)
 {
      return FALSE;
@@ -143,7 +143,7 @@ static bool_t xdralloc_notsup_setpos(
 
 
 static rpc_inline_t *xdralloc_inline(
-     register XDR *xdrs,
+     XDR *xdrs,
      int len)
 {
      return (rpc_inline_t *) 0;
diff --git a/src/lib/rpc/xdr_array.c b/src/lib/rpc/xdr_array.c
index c3d16fb..aeaa7f2 100644
--- a/src/lib/rpc/xdr_array.c
+++ b/src/lib/rpc/xdr_array.c
@@ -59,7 +59,7 @@ static char sccsid[] = "@(#)xdr_array.c 1.10 87/08/11 Copyr 1984 Sun Micro";
  */
 bool_t
 xdr_array(
-	register XDR *xdrs,
+	XDR *xdrs,
 	caddr_t *addrp,		/* array pointer */
 	u_int *sizep,		/* number of elements */
 	u_int maxsize,		/* max numberof elements */
@@ -67,11 +67,11 @@ xdr_array(
 	xdrproc_t elproc	/* xdr routine to handle each element */
 	)
 {
-	register u_int i;
-	register caddr_t target = *addrp;
-	register u_int c;  /* the actual element count */
-	register bool_t stat = TRUE;
-	register u_int nodesize;
+	u_int i;
+	caddr_t target = *addrp;
+	u_int c;  /* the actual element count */
+	bool_t stat = TRUE;
+	u_int nodesize;
 
 	/* like strings, arrays are really counted arrays */
 	if (! xdr_u_int(xdrs, sizep)) {
@@ -139,14 +139,14 @@ xdr_array(
  */
 bool_t
 xdr_vector(
-	register XDR *xdrs,
-	register char *basep,
-	register u_int nelem,
-	register u_int elemsize,
-	register xdrproc_t xdr_elem)
+	XDR *xdrs,
+	char *basep,
+	u_int nelem,
+	u_int elemsize,
+	xdrproc_t xdr_elem)
 {
-	register u_int i;
-	register char *elptr;
+	u_int i;
+	char *elptr;
 
 	elptr = basep;
 	for (i = 0; i < nelem; i++) {
diff --git a/src/lib/rpc/xdr_float.c b/src/lib/rpc/xdr_float.c
index 5b6e9ca..82059b7 100644
--- a/src/lib/rpc/xdr_float.c
+++ b/src/lib/rpc/xdr_float.c
@@ -198,11 +198,11 @@ static struct dbl_limits {
 bool_t
 xdr_double(XDR *xdrs, double *dp)
 {
-	register int32_t *lp;
+	int32_t *lp;
 #if defined(vax)
 	struct	ieee_double id;
 	struct	vax_double vd;
-	register struct dbl_limits *lim;
+	struct dbl_limits *lim;
 	int i;
 #endif
 
diff --git a/src/lib/rpc/xdr_mem.c b/src/lib/rpc/xdr_mem.c
index f3eb047..8d3f120 100644
--- a/src/lib/rpc/xdr_mem.c
+++ b/src/lib/rpc/xdr_mem.c
@@ -160,8 +160,8 @@ xdrmem_getpos(XDR *xdrs)
 static bool_t
 xdrmem_setpos(XDR *xdrs, u_int pos)
 {
-	register caddr_t newaddr = xdrs->x_base + pos;
-	register caddr_t lastaddr = (char *) xdrs->x_private + xdrs->x_handy;
+	caddr_t newaddr = xdrs->x_base + pos;
+	caddr_t lastaddr = (char *)xdrs->x_private + xdrs->x_handy;
 
 	if ((long)newaddr > (long)lastaddr)
 		return (FALSE);
diff --git a/src/lib/rpc/xdr_rec.c b/src/lib/rpc/xdr_rec.c
index 0587882..28894f3 100644
--- a/src/lib/rpc/xdr_rec.c
+++ b/src/lib/rpc/xdr_rec.c
@@ -144,8 +144,7 @@ xdrrec_create(
 	int (*writeit)() /* like write, but pass it a tcp_handle, not sock */
 	)
 {
-	register RECSTREAM *rstrm =
-		(RECSTREAM *)mem_alloc(sizeof(RECSTREAM));
+	RECSTREAM *rstrm = mem_alloc(sizeof(RECSTREAM));
 
 	if (rstrm == NULL) {
 		(void)fprintf(stderr, "xdrrec_create: out of memory\n");
@@ -199,8 +198,8 @@ xdrrec_create(
 static bool_t
 xdrrec_getlong(XDR *xdrs, long *lp)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
-	register int32_t *buflp = (int32_t *)(void *)(rstrm->in_finger);
+	RECSTREAM *rstrm = xdrs->x_private;
+	int32_t *buflp = (void *)(rstrm->in_finger);
 	uint32_t mylong;
 
 	/* first try the inline, fast case */
@@ -222,8 +221,8 @@ xdrrec_getlong(XDR *xdrs, long *lp)
 static bool_t
 xdrrec_putlong(XDR *xdrs, long *lp)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
-	register int32_t *dest_lp = ((int32_t *)(void *)(rstrm->out_finger));
+	RECSTREAM *rstrm = xdrs->x_private;
+	int32_t *dest_lp = (void *)(rstrm->out_finger);
 
 	if (rstrm->out_boundry - rstrm->out_finger < BYTES_PER_XDR_UNIT) {
 		/*
@@ -243,8 +242,8 @@ xdrrec_putlong(XDR *xdrs, long *lp)
 static bool_t  /* must manage buffers, fragments, and records */
 xdrrec_getbytes(XDR *xdrs, caddr_t addr, u_int len)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
-	register u_int current;
+	RECSTREAM *rstrm = xdrs->x_private;
+	u_int current;
 
 	while (len > 0) {
 		current = rstrm->fbtbc;
@@ -268,8 +267,8 @@ xdrrec_getbytes(XDR *xdrs, caddr_t addr, u_int len)
 static bool_t
 xdrrec_putbytes(XDR *xdrs, caddr_t addr, u_int len)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
-	register size_t current;
+	RECSTREAM *rstrm = xdrs->x_private;
+	size_t current;
 
 	while (len > 0) {
 		current = (size_t) ((long)rstrm->out_boundry -
@@ -291,8 +290,8 @@ xdrrec_putbytes(XDR *xdrs, caddr_t addr, u_int len)
 static u_int
 xdrrec_getpos(XDR *xdrs)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
-	register int pos;
+	RECSTREAM *rstrm = xdrs->x_private;
+	int pos;
 
 	switch (xdrs->x_op) {
 
@@ -316,7 +315,7 @@ xdrrec_getpos(XDR *xdrs)
 static bool_t
 xdrrec_setpos(XDR *xdrs, u_int pos)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
+	RECSTREAM *rstrm = xdrs->x_private;
 	u_int currpos = xdrrec_getpos(xdrs);
 	int delta = currpos - pos;
 	caddr_t newpos;
@@ -353,7 +352,7 @@ xdrrec_setpos(XDR *xdrs, u_int pos)
 static rpc_inline_t *
 xdrrec_inline(XDR *xdrs, int len)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
+	RECSTREAM *rstrm = xdrs->x_private;
 	rpc_inline_t * buf = NULL;
 
 	if (len < 0)
@@ -386,7 +385,7 @@ xdrrec_inline(XDR *xdrs, int len)
 static void
 xdrrec_destroy(XDR *xdrs)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)xdrs->x_private;
+	RECSTREAM *rstrm = xdrs->x_private;
 
 	mem_free(rstrm->the_buffer,
 		rstrm->sendsize + rstrm->recvsize + BYTES_PER_XDR_UNIT);
@@ -405,7 +404,7 @@ xdrrec_destroy(XDR *xdrs)
 bool_t
 xdrrec_skiprecord(XDR *xdrs)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
+	RECSTREAM *rstrm = xdrs->x_private;
 
 	while (rstrm->fbtbc > 0 || (! rstrm->last_frag)) {
 		if (! skip_input_bytes(rstrm, rstrm->fbtbc))
@@ -426,7 +425,7 @@ xdrrec_skiprecord(XDR *xdrs)
 bool_t
 xdrrec_eof(XDR *xdrs)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
+	RECSTREAM *rstrm = xdrs->x_private;
 
 	while (rstrm->fbtbc > 0 || (! rstrm->last_frag)) {
 		if (! skip_input_bytes(rstrm, rstrm->fbtbc))
@@ -449,8 +448,8 @@ xdrrec_eof(XDR *xdrs)
 bool_t
 xdrrec_endofrecord(XDR *xdrs, bool_t sendnow)
 {
-	register RECSTREAM *rstrm = (RECSTREAM *)(xdrs->x_private);
-	register uint32_t len;  /* fragment length */
+	RECSTREAM *rstrm = xdrs->x_private;
+	uint32_t len;  /* fragment length */
 
 	if (sendnow || rstrm->frag_sent ||
 		((long)rstrm->out_finger + BYTES_PER_XDR_UNIT >=
@@ -473,8 +472,8 @@ xdrrec_endofrecord(XDR *xdrs, bool_t sendnow)
 static bool_t
 flush_out(RECSTREAM *rstrm, bool_t eor)
 {
-	register uint32_t eormask = (eor == TRUE) ? LAST_FRAG : 0;
-	register uint32_t len = (u_long)(rstrm->out_finger) -
+	uint32_t eormask = (eor == TRUE) ? LAST_FRAG : 0;
+	uint32_t len = (u_long)(rstrm->out_finger) -
 		(u_long)(rstrm->frag_header) - BYTES_PER_XDR_UNIT;
 
 	*(rstrm->frag_header) = htonl(len | eormask);
@@ -490,9 +489,9 @@ flush_out(RECSTREAM *rstrm, bool_t eor)
 static bool_t  /* knows nothing about records!  Only about input buffers */
 fill_input_buf(RECSTREAM *rstrm)
 {
-	register caddr_t where;
+	caddr_t where;
 	u_int i;
-	register int len;
+	int len;
 
 	where = rstrm->in_base;
 	i = (u_int)((u_long)rstrm->in_boundry % BYTES_PER_XDR_UNIT);
@@ -509,7 +508,7 @@ fill_input_buf(RECSTREAM *rstrm)
 static bool_t  /* knows nothing about records!  Only about input buffers */
 get_input_bytes(RECSTREAM *rstrm, caddr_t addr, int len)
 {
-	register size_t current;
+	size_t current;
 
 	while (len > 0) {
 		current = (size_t)((long)rstrm->in_boundry -
@@ -530,7 +529,7 @@ get_input_bytes(RECSTREAM *rstrm, caddr_t addr, int len)
 
 static bool_t  /* next four bytes of input stream are treated as a header */
 set_input_fragment(rstrm)
-	register RECSTREAM *rstrm;
+	RECSTREAM *rstrm;
 {
 	uint32_t header;
 
@@ -545,7 +544,7 @@ set_input_fragment(rstrm)
 static bool_t  /* consumes input bytes; knows nothing about records! */
 skip_input_bytes(RECSTREAM *rstrm, int32_t cnt)
 {
-	register int current;
+	int current;
 
 	while (cnt > 0) {
 		current = (int)((long)rstrm->in_boundry -
diff --git a/src/lib/rpc/xdr_reference.c b/src/lib/rpc/xdr_reference.c
index eca4648..eab7d2d 100644
--- a/src/lib/rpc/xdr_reference.c
+++ b/src/lib/rpc/xdr_reference.c
@@ -66,8 +66,8 @@ xdr_reference(
 	xdrproc_t proc		/* xdr routine to handle the object */
 	)
 {
-	register caddr_t loc = *pp;
-	register bool_t stat;
+	caddr_t loc = *pp;
+	bool_t stat;
 
 	if (loc == NULL)
 		switch (xdrs->x_op) {
diff --git a/src/plugins/kdb/db2/libdb2/btree/bt_utils.c b/src/plugins/kdb/db2/libdb2/btree/bt_utils.c
index 1a34598..be2f24f 100644
--- a/src/plugins/kdb/db2/libdb2/btree/bt_utils.c
+++ b/src/plugins/kdb/db2/libdb2/btree/bt_utils.c
@@ -216,8 +216,8 @@ int
 __bt_defcmp(a, b)
 	const DBT *a, *b;
 {
-	register size_t len;
-	register u_char *p1, *p2;
+	size_t len;
+	u_char *p1, *p2;
 
 	/*
 	 * XXX
@@ -246,8 +246,8 @@ size_t
 __bt_defpfx(a, b)
 	const DBT *a, *b;
 {
-	register u_char *p1, *p2;
-	register size_t cnt, len;
+	u_char *p1, *p2;
+	size_t cnt, len;
 
 	cnt = 1;
 	len = MIN(a->size, b->size);
diff --git a/src/plugins/kdb/db2/libdb2/recno/rec_search.c b/src/plugins/kdb/db2/libdb2/recno/rec_search.c
index 1504262..244d79f 100644
--- a/src/plugins/kdb/db2/libdb2/recno/rec_search.c
+++ b/src/plugins/kdb/db2/libdb2/recno/rec_search.c
@@ -66,8 +66,8 @@ __rec_search(t, recno, op)
 	recno_t recno;
 	enum SRCHOP op;
 {
-	register indx_t idx;
-	register PAGE *h;
+	indx_t idx;
+	PAGE *h;
 	EPGNO *parent;
 	RINTERNAL *r;
 	db_pgno_t pg;
diff --git a/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c b/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c
index 8281d0e..088f903 100644
--- a/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c
+++ b/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c
@@ -710,7 +710,7 @@ load(db, argv)
 	DB *db;
 	char **argv;
 {
-	register char *p, *t;
+	char *p, *t;
 	FILE *fp;
 	DBT data, key;
 	recno_t cnt;
diff --git a/src/plugins/kdb/db2/libdb2/test/dbtest.c b/src/plugins/kdb/db2/libdb2/test/dbtest.c
index ddb1ab2..5d76b1d 100644
--- a/src/plugins/kdb/db2/libdb2/test/dbtest.c
+++ b/src/plugins/kdb/db2/libdb2/test/dbtest.c
@@ -383,8 +383,8 @@ void
 compare(db1, db2)
 	DBT *db1, *db2;
 {
-	register size_t len;
-	register u_char *p1, *p2;
+	size_t len;
+	u_char *p1, *p2;
 
 	if (db1->size != db2->size) {
 		printf("compare failed: key->data len %lu != data len %lu\n",
diff --git a/src/util/profile/profile_tcl.c b/src/util/profile/profile_tcl.c
index 4f7a86a..eb9950a 100644
--- a/src/util/profile/profile_tcl.c
+++ b/src/util/profile/profile_tcl.c
@@ -544,14 +544,14 @@ SWIG_MangledTypeQueryModule(swig_module_info *start,
   swig_module_info *iter = start;
   do {
     if (iter->size) {
-      register size_t l = 0;
-      register size_t r = iter->size - 1;
+      size_t l = 0;
+      size_t r = iter->size - 1;
       do {
 	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
-	register size_t i = (l + r) >> 1;
+	size_t i = (l + r) >> 1;
 	const char *iname = iter->types[i]->name;
 	if (iname) {
-	  register int compare = strcmp(name, iname);
+	  int compare = strcmp(name, iname);
 	  if (compare == 0) {
 	    return iter->types[i];
 	  } else if (compare < 0) {
@@ -595,7 +595,7 @@ SWIG_TypeQueryModule(swig_module_info *start,
        of the str field (the human readable name) */
     swig_module_info *iter = start;
     do {
-      register size_t i = 0;
+      size_t i = 0;
       for (; i < iter->size; ++i) {
 	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
 	  return iter->types[i];
@@ -614,10 +614,10 @@ SWIG_TypeQueryModule(swig_module_info *start,
 SWIGRUNTIME char *
 SWIG_PackData(char *c, void *ptr, size_t sz) {
   static const char hex[17] = "0123456789abcdef";
-  register const unsigned char *u = (unsigned char *) ptr;
-  register const unsigned char *eu =  u + sz;
+  const unsigned char *u = (unsigned char *) ptr;
+  const unsigned char *eu =  u + sz;
   for (; u != eu; ++u) {
-    register unsigned char uu = *u;
+    unsigned char uu = *u;
     *(c++) = hex[(uu & 0xf0) >> 4];
     *(c++) = hex[uu & 0xf];
   }
@@ -629,11 +629,11 @@ SWIG_PackData(char *c, void *ptr, size_t sz) {
 */
 SWIGRUNTIME const char *
 SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
-  register unsigned char *u = (unsigned char *) ptr;
-  register const unsigned char *eu = u + sz;
+  unsigned char *u = (unsigned char *) ptr;
+  const unsigned char *eu = u + sz;
   for (; u != eu; ++u) {
-    register char d = *(c++);
-    register unsigned char uu;
+    char d = *(c++);
+    unsigned char uu;
     if ((d >= '0') && (d <= '9'))
       uu = ((d - '0') << 4);
     else if ((d >= 'a') && (d <= 'f'))
diff --git a/src/util/ss/cmd_tbl.lex.l b/src/util/ss/cmd_tbl.lex.l
index b47085e..af01328 100644
--- a/src/util/ss/cmd_tbl.lex.l
+++ b/src/util/ss/cmd_tbl.lex.l
@@ -65,7 +65,7 @@ static l_end()
 
 static l_quoted_string()
 {
-     register char *p;
+     char *p;
      yylval.dynstr = strdup(yytext+1);
      if (p=strrchr(yylval.dynstr, '"'))
 	  *p='\0';
diff --git a/src/util/ss/error.c b/src/util/ss/error.c
index 6d5f69a..b5768a6 100644
--- a/src/util/ss/error.c
+++ b/src/util/ss/error.c
@@ -36,7 +36,7 @@
 char * ss_name(sci_idx)
     int sci_idx;
 {
-    register ss_data *infop;
+    ss_data *infop;
 
     infop = ss_info(sci_idx);
     if (infop->current_request == (char const *)NULL) {
@@ -52,7 +52,7 @@ char * ss_name(sci_idx)
 
 void ss_error (int sci_idx, long code, const char * fmt, ...)
 {
-    register char *whoami;
+    char *whoami;
     va_list pvar;
     va_start (pvar, fmt);
     whoami = ss_name (sci_idx);
diff --git a/src/util/ss/execute_cmd.c b/src/util/ss/execute_cmd.c
index 6c3855c..cbd697d 100644
--- a/src/util/ss/execute_cmd.c
+++ b/src/util/ss/execute_cmd.c
@@ -53,14 +53,14 @@
  */
 
 static int check_request_table (rqtbl, argc, argv, sci_idx)
-    register ss_request_table *rqtbl;
+    ss_request_table *rqtbl;
     int argc;
     char *argv[];
     int sci_idx;
 {
-    register ss_request_entry *request;
-    register ss_data *info;
-    register char const * const * name;
+    ss_request_entry *request;
+    ss_data *info;
+    char const *const *name;
     char *string = argv[0];
     int i;
 
@@ -106,8 +106,8 @@ static int really_execute_command (sci_idx, argc, argv)
     int argc;
     char **argv[];
 {
-    register ss_request_table **rqtbl;
-    register ss_data *info;
+    ss_request_table **rqtbl;
+    ss_data *info;
 
     info = ss_info(sci_idx);
 
@@ -137,9 +137,9 @@ static int really_execute_command (sci_idx, argc, argv)
 int
 ss_execute_command(sci_idx, argv)
     int sci_idx;
-    register char *argv[];
+    char *argv[];
 {
-    register unsigned int i, argc;
+    unsigned int i, argc;
     char **argp;
     int ret;
 
diff --git a/src/util/ss/help.c b/src/util/ss/help.c
index 4463ad4..6d333c9 100644
--- a/src/util/ss/help.c
+++ b/src/util/ss/help.c
@@ -25,8 +25,8 @@ void ss_help (argc, argv, sci_idx, info_ptr)
     char const *request_name;
     int code;
     int fd, child;
-    register int idx;
-    register ss_data *info;
+    int idx;
+    ss_data *info;
 
     request_name = ss_current_request(sci_idx, &code);
     if (code != 0) {
@@ -102,10 +102,10 @@ got_it:
     char *info_dir;
     int *code_ptr;
     {
-        register ss_data *info;
+        ss_data *info;
         DIR *d;
         int n_dirs;
-        register char **dirs;
+        char **dirs;
 
         info = ss_info(sci_idx);
         if ((info_dir == NULL) || (*info_dir == '\0')) {
@@ -138,8 +138,8 @@ got_it:
     char *info_dir;
     int *code_ptr;
     {
-        register char **i_d;
-        register char **info_dirs;
+        char **i_d;
+        char **info_dirs;
 
         info_dirs = ss_info(sci_idx)->info_dirs;
         for (i_d = info_dirs; *i_d; i_d++) {
diff --git a/src/util/ss/invocation.c b/src/util/ss/invocation.c
index d9c4ea5..378bc3e 100644
--- a/src/util/ss/invocation.c
+++ b/src/util/ss/invocation.c
@@ -43,9 +43,9 @@ int ss_create_invocation(subsystem_name, version_string, info_ptr,
     ss_request_table *request_table_ptr;
     int *code_ptr;
 {
-    register int sci_idx;
-    register ss_data *new_table;
-    register ss_data **table, **tmp;
+    int sci_idx;
+    ss_data *new_table;
+    ss_data **table, **tmp;
 
     *code_ptr = 0;
     table = _ss_table;
@@ -118,7 +118,7 @@ void
 ss_delete_invocation(sci_idx)
     int sci_idx;
 {
-    register ss_data *t;
+    ss_data *t;
     int ignored_code;
 
     t = ss_info(sci_idx);
diff --git a/src/util/ss/list_rqs.c b/src/util/ss/list_rqs.c
index d5b3c87..fe5f149 100644
--- a/src/util/ss/list_rqs.c
+++ b/src/util/ss/list_rqs.c
@@ -31,10 +31,10 @@ ss_list_requests(argc, argv, sci_idx, info_ptr)
     char *info_ptr;
 #endif
 {
-    register ss_request_entry *entry;
-    register char const * const *name;
-    register int spacing;
-    register ss_request_table **table;
+    ss_request_entry *entry;
+    char const *const *name;
+    int spacing;
+    ss_request_table **table;
 
     char buffer[BUFSIZ];
     FILE *output;
@@ -90,7 +90,7 @@ ss_list_requests(argc, argv, sci_idx, info_ptr)
                 continue;
             buffer[sizeof(buffer) - 1] = '\0';
             for (name = entry->command_names; *name; name++) {
-                register int len = strlen(*name);
+                int len = strlen(*name);
                 strncat(buffer, *name, sizeof(buffer) - 1 - strlen(buffer));
                 spacing += len + 2;
                 if (name[1]) {
diff --git a/src/util/ss/listen.c b/src/util/ss/listen.c
index 75b9044..c99caa3 100644
--- a/src/util/ss/listen.c
+++ b/src/util/ss/listen.c
@@ -61,8 +61,8 @@ static RETSIGTYPE listen_int_handler(signo)
 int ss_listen (sci_idx)
     int sci_idx;
 {
-    register char *cp;
-    register ss_data *info;
+    char *cp;
+    ss_data *info;
     char *input;
     int code;
     jmp_buf old_jmpb;
@@ -71,7 +71,7 @@ int ss_listen (sci_idx)
     struct sigaction isig, csig, nsig, osig;
     sigset_t nmask, omask;
 #else
-    register RETSIGTYPE (*sig_cont)();
+    RETSIGTYPE (*sig_cont)();
     RETSIGTYPE (*sig_int)(), (*old_sig_cont)();
     int mask;
 #endif
@@ -136,7 +136,7 @@ int ss_listen (sci_idx)
 
         code = ss_execute_line (sci_idx, input);
         if (code == SS_ET_COMMAND_NOT_FOUND) {
-            register char *c = input;
+            char *c = input;
             while (*c == ' ' || *c == '\t')
                 c++;
             cp = strchr (c, ' ');
diff --git a/src/util/ss/options.c b/src/util/ss/options.c
index c3452f9..807f8e6 100644
--- a/src/util/ss/options.c
+++ b/src/util/ss/options.c
@@ -23,9 +23,9 @@ static struct option options[] = {
 
 long
 flag_val(string)
-    register char *string;
+    char *string;
 {
-    register struct option *opt;
+    struct option *opt;
     for (opt = options; opt->text; opt++)
         if (!strcmp(opt->text, string))
             return(opt->value);
diff --git a/src/util/ss/pager.c b/src/util/ss/pager.c
index ae023b5..3e47ed3 100644
--- a/src/util/ss/pager.c
+++ b/src/util/ss/pager.c
@@ -102,7 +102,7 @@ void ss_page_stdin()
     {
         /* minimal recovery if pager program isn't found */
         char buf[80];
-        register int n;
+        int n;
         while ((n = read(0, buf, 80)) > 0)
             write(1, buf, (unsigned) n);
     }
diff --git a/src/util/ss/parse.c b/src/util/ss/parse.c
index 456b147..78a831b 100644
--- a/src/util/ss/parse.c
+++ b/src/util/ss/parse.c
@@ -55,13 +55,13 @@ enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING };
 
 char **ss_parse (sci_idx, line_ptr, argc_ptr)
     int sci_idx;
-    register char *line_ptr;
+    char *line_ptr;
     int *argc_ptr;
 {
-    register char **argv, *cp;
+    char **argv, *cp;
     char **newargv;
-    register int argc;
-    register enum parse_mode parse_mode;
+    int argc;
+    enum parse_mode parse_mode;
 
     argv = (char **) malloc (sizeof(char *));
     if (argv == (char **)NULL) {
diff --git a/src/util/ss/request_tbl.c b/src/util/ss/request_tbl.c
index 7721a5f..03cde1b 100644
--- a/src/util/ss/request_tbl.c
+++ b/src/util/ss/request_tbl.c
@@ -17,8 +17,8 @@ ss_add_request_table(sci_idx, rqtbl_ptr, position, code_ptr)
     int position;           /* 1 -> becomes second... */
     int *code_ptr;
 {
-    register ss_data *info;
-    register int i, size;
+    ss_data *info;
+    int i, size;
 
     info = ss_info(sci_idx);
     for (size=0; info->rqt_tables[size] != (ssrt *)NULL; size++)
@@ -49,8 +49,8 @@ ss_delete_request_table(sci_idx, rqtbl_ptr, code_ptr)
     ssrt *rqtbl_ptr;
     int *code_ptr;
 {
-    register ss_data *info;
-    register ssrt **rt1, **rt2;
+    ss_data *info;
+    ssrt **rt1, **rt2;
 
     *code_ptr = SS_ET_TABLE_NOT_FOUND;
     info = ss_info(sci_idx);
diff --git a/src/util/ss/requests.c b/src/util/ss/requests.c
index 3e62f97..aa6752f 100644
--- a/src/util/ss/requests.c
+++ b/src/util/ss/requests.c
@@ -16,7 +16,7 @@
  */
 DECLARE(ss_self_identify)
 {
-    register ss_data *info = ss_info(sci_idx);
+    ss_data *info = ss_info(sci_idx);
     printf("%s version %s\n", info->subsystem_name,
            info->subsystem_version);
 }
diff --git a/src/util/ss/utils.c b/src/util/ss/utils.c
index 3b1f658..675de7c 100644
--- a/src/util/ss/utils.c
+++ b/src/util/ss/utils.c
@@ -78,7 +78,7 @@ gensym(name)
 
 /* concatenate three strings and return the result */
 char *str_concat3(a, b, c)
-    register char *a, *b, *c;
+    char *a, *b, *c;
 {
     char *result;
 
@@ -88,9 +88,9 @@ char *str_concat3(a, b, c)
 
 /* return copy of string enclosed in double-quotes */
 char *quote(string)
-    register char *string;
+    char *string;
 {
-    register char *result;
+    char *result;
 
     asprintf(&result, "\"%s\"", string);
     return(result);
@@ -99,10 +99,10 @@ char *quote(string)
 #ifndef HAVE_STRDUP
 /* make duplicate of string and return pointer */
 char *strdup(s)
-    register char *s;
+    char *s;
 {
-    register int len = strlen(s) + 1;
-    register char *new;
+    int len = strlen(s) + 1;
+    char *new;
     new = malloc(len);
     strncpy(new, s, len);
     return(new);
diff --git a/src/util/support/mkstemp.c b/src/util/support/mkstemp.c
index 9ef586a..285757f 100644
--- a/src/util/support/mkstemp.c
+++ b/src/util/support/mkstemp.c
@@ -75,9 +75,9 @@ int mkstemp(path)
 static int
 _gettemp(path, doopen)
 	char *path;
-	register int *doopen;
+	int *doopen;
 {
-	register char *start, *trv;
+	char *start, *trv;
 	struct stat sbuf;
 	u_int pid;
 
diff --git a/src/windows/leashdll/timesync.c b/src/windows/leashdll/timesync.c
index 15b6d7d..b6b4481 100644
--- a/src/windows/leashdll/timesync.c
+++ b/src/windows/leashdll/timesync.c
@@ -216,8 +216,8 @@ int ProcessTimeSync(char *hostname, int Port, char *tmpstr)
 {
     char                buffer[512];
     int                 cc;
-    register long       *nettime;
-    register int        s;
+    long                *nettime;
+    int                 s;
     long                hosttime;
     struct hostent      *host;
     struct              timeval tv;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.