diff --git a/library/oid.c b/library/oid.c
index 9d50cf5..1b5073b 100644
--- a/library/oid.c
+++ b/library/oid.c
@@ -624,24 +624,24 @@
     if ( res < 0 )
         return( (int) size + 20 );
 
-    return res;
+    return( res );
 }
 
 #define snprintf compat_snprintf
 #endif /* _MSC_VER && !snprintf && !EFIX64 && !EFI32 */
 
-#define SAFE_SNPRINTF()                         \
-{                                               \
-    if( ret == -1 )                             \
-        return POLARSSL_ERR_OID_BUF_TOO_SMALL;  \
-                                                \
-    if ( (unsigned int) ret >= n ) {            \
-        p[n - 1] = '\0';                        \
-        return POLARSSL_ERR_OID_BUF_TOO_SMALL;  \
-    }                                           \
-                                                \
-    n -= (unsigned int) ret;                    \
-    p += (unsigned int) ret;                    \
+#define SAFE_SNPRINTF()                             \
+{                                                   \
+    if( ret == -1 )                                 \
+        return( POLARSSL_ERR_OID_BUF_TOO_SMALL );   \
+                                                    \
+    if ( (unsigned int) ret >= n ) {                \
+        p[n - 1] = '\0';                            \
+        return( POLARSSL_ERR_OID_BUF_TOO_SMALL );   \
+    }                                               \
+                                                    \
+    n -= (unsigned int) ret;                        \
+    p += (unsigned int) ret;                        \
 }
 
 /* Return the x.y.z.... style numeric string for the given OID */
