apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Pane <bp...@pacbell.net>
Subject [PATCH] add apr_utoa function
Date Wed, 26 Dec 2001 09:13:50 GMT
A counterpart to apr_itoa(), so that we can eliminate
some inefficient 'sprintf(foo, "%u", bar)' calls in the
httpd.


Index: srclib/apr/include/apr_strings.h
===================================================================
RCS file: /home/cvspublic/apr/include/apr_strings.h,v
retrieving revision 1.23
diff -u -r1.23 apr_strings.h
--- srclib/apr/include/apr_strings.h    2001/12/02 09:20:23    1.23
+++ srclib/apr/include/apr_strings.h    2001/12/26 09:14:54
@@ -298,6 +298,14 @@
 APR_DECLARE(char *) apr_itoa(apr_pool_t *p, int n);
 
 /**
+ * create a string representation of an unsigned int, allocated from a pool
+ * @param p The pool from which to allocate
+ * @param n The number to format
+ * @return The string representation of the number
+ */
+APR_DECLARE(char *) apr_utoa(apr_pool_t *p, unsigned n);
+
+/**
  * create a string representation of a long, allocated from a pool
  * @param p The pool from which to allocate
  * @param n The number to format
Index: srclib/apr/strings/apr_strings.c
===================================================================
RCS file: /home/cvspublic/apr/strings/apr_strings.c,v
retrieving revision 1.23
diff -u -r1.23 apr_strings.c
--- srclib/apr/strings/apr_strings.c    2001/12/02 09:20:23    1.23
+++ srclib/apr/strings/apr_strings.c    2001/12/26 09:14:54
@@ -215,6 +215,19 @@
     return start;
 }
 
+APR_DECLARE(char *) apr_utoa(apr_pool_t *p, unsigned n)
+{
+    const int BUFFER_SIZE = sizeof(unsigned) * 3 + 2;
+    char *buf = apr_palloc(p, BUFFER_SIZE);
+    char *start = buf + BUFFER_SIZE - 1;
+    *start = 0;
+    do {
+        *--start = '0' + (n % 10);
+        n /= 10;
+    } while (n);
+    return start;
+}
+
 APR_DECLARE(char *) apr_ltoa(apr_pool_t *p, long n)
 {
     const int BUFFER_SIZE = sizeof(long) * 3 + 2;



Mime
View raw message