Author: jelmer
Date: 2006-05-04 13:04:22 +0000 (Thu, 04 May 2006)
New Revision: 15432

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=15432

Log:
Make some functions non-static and import some utility functions from Samba 4 

Modified:
   trunk/source/lib/charcnv.c
   trunk/source/lib/data_blob.c
   trunk/source/lib/substitute.c
   trunk/source/lib/time.c
   trunk/source/lib/util.c
   trunk/source/lib/util_str.c
   trunk/source/libsmb/trusts_util.c
   trunk/source/torture/rpctorture.c
   trunk/source/web/swat.c


Changeset:
Modified: trunk/source/lib/charcnv.c
===================================================================
--- trunk/source/lib/charcnv.c  2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/charcnv.c  2006-05-04 13:04:22 UTC (rev 15432)
@@ -702,7 +702,7 @@
  *
  * @returns Size in bytes of the converted string; or -1 in case of error.
  **/
-static size_t convert_string_talloc(TALLOC_CTX *ctx, charset_t from, charset_t 
to,
+size_t convert_string_talloc(TALLOC_CTX *ctx, charset_t from, charset_t to,
                                void const *src, size_t srclen, void **dest, 
BOOL allow_bad_conv)
 {
        size_t dest_len;

Modified: trunk/source/lib/data_blob.c
===================================================================
--- trunk/source/lib/data_blob.c        2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/data_blob.c        2006-05-04 13:04:22 UTC (rev 15432)
@@ -102,7 +102,7 @@
  Clear a DATA_BLOB's contents
 *******************************************************************/
 
-static void data_blob_clear(DATA_BLOB *d)
+void data_blob_clear(DATA_BLOB *d)
 {
        if (d->data) {
                memset(d->data, 0, d->length);

Modified: trunk/source/lib/substitute.c
===================================================================
--- trunk/source/lib/substitute.c       2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/substitute.c       2006-05-04 13:04:22 UTC (rev 15432)
@@ -522,7 +522,7 @@
                        a_string = realloc_string_sub(a_string, "%R", 
remote_proto);
                        break;
                case 'T' :
-                       a_string = realloc_string_sub(a_string, "%T", 
timestring(False));
+                       a_string = realloc_string_sub(a_string, "%T", 
current_timestring(False));
                        break;
                case 'a' :
                        a_string = realloc_string_sub(a_string, "%a", 
remote_arch);

Modified: trunk/source/lib/time.c
===================================================================
--- trunk/source/lib/time.c     2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/time.c     2006-05-04 13:04:22 UTC (rev 15432)
@@ -639,7 +639,7 @@
  Return the date and time as a string
 ****************************************************************************/
 
-char *timestring(BOOL hires)
+char *current_timestring(BOOL hires)
 {
        static fstring TimeBuf;
        struct timeval tp;
@@ -1057,3 +1057,49 @@
        return ret;
 }
 #endif
+
+
+/**
+ Return the date and time as a string
+**/
+char *timestring(TALLOC_CTX *mem_ctx, time_t t)
+{
+       char *TimeBuf;
+       char tempTime[80];
+       struct tm *tm;
+
+       tm = localtime(&t);
+       if (!tm) {
+               return talloc_asprintf(mem_ctx,
+                                      "%ld seconds since the Epoch",
+                                      (long)t);
+       }
+
+#ifdef HAVE_STRFTIME
+       /* some versions of gcc complain about using %c. This is a bug
+          in the gcc warning, not a bug in this code. See a recent
+          strftime() manual page for details.
+        */
+       strftime(tempTime,sizeof(tempTime)-1,"%c %Z",tm);
+       TimeBuf = talloc_strdup(mem_ctx, tempTime);
+#else
+       TimeBuf = talloc_strdup(mem_ctx, asctime(tm));
+#endif
+
+       return TimeBuf;
+}
+
+
+/**
+  return a talloced string representing a NTTIME for human consumption
+*/
+const char *nt_time_string(TALLOC_CTX *mem_ctx, NTTIME nt)
+{
+       time_t t;
+       if (nt.low == 0 && nt.high == 0) {
+               return "NTTIME(0)";
+       }
+       t = nt_time_to_unix(&nt);
+       return timestring(mem_ctx, t);
+}
+

Modified: trunk/source/lib/util.c
===================================================================
--- trunk/source/lib/util.c     2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/util.c     2006-05-04 13:04:22 UTC (rev 15432)
@@ -447,26 +447,6 @@
 }
 
 /*******************************************************************
- Return a string representing an attribute for a file.
-********************************************************************/
-
-char *attrib_string(uint16 mode)
-{
-       static fstring attrstr;
-
-       attrstr[0] = 0;
-
-       if (mode & aVOLID) fstrcat(attrstr,"V");
-       if (mode & aDIR) fstrcat(attrstr,"D");
-       if (mode & aARCH) fstrcat(attrstr,"A");
-       if (mode & aHIDDEN) fstrcat(attrstr,"H");
-       if (mode & aSYSTEM) fstrcat(attrstr,"S");
-       if (mode & aRONLY) fstrcat(attrstr,"R");          
-
-       return(attrstr);
-}
-
-/*******************************************************************
  Show a smb message structure.
 ********************************************************************/
 

Modified: trunk/source/lib/util_str.c
===================================================================
--- trunk/source/lib/util_str.c 2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/lib/util_str.c 2006-05-04 13:04:22 UTC (rev 15432)
@@ -795,40 +795,7 @@
        return num_chars;
 }
 
-DATA_BLOB strhex_to_data_blob(TALLOC_CTX *mem_ctx, const char *strhex) 
-{
-       DATA_BLOB ret_blob;
-
-       if (mem_ctx != NULL)
-               ret_blob = data_blob_talloc(mem_ctx, NULL, strlen(strhex)/2+1);
-       else
-               ret_blob = data_blob(NULL, strlen(strhex)/2+1);
-
-       ret_blob.length = strhex_to_str((char*)ret_blob.data,   
-                                       strlen(strhex), 
-                                       strhex);
-
-       return ret_blob;
-}
-
 /**
- * Routine to print a buffer as HEX digits, into an allocated string.
- */
-
-char *hex_encode(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len)
-{
-       int i;
-       char *hex_buffer;
-
-       hex_buffer = TALLOC_ARRAY(mem_ctx, char, (len*2)+1);
-
-       for (i = 0; i < len; i++)
-               slprintf(&hex_buffer[i*2], 3, "%02X", buff_in[i]);
-
-       return hex_buffer;
-}
-
-/**
  Check if a string is part of a list.
 **/
 
@@ -2415,3 +2382,52 @@
        return True;
 }
 
+
+/**
+return the number of bytes occupied by a buffer in ASCII format
+the result includes the null termination
+limited by 'n' bytes
+**/
+size_t ascii_len_n(const char *src, size_t n)
+{
+       size_t len;
+
+       len = strnlen(src, n);
+       if (len+1 <= n) {
+               len += 1;
+       }
+
+       return len;
+}
+
+/**
+return the number of bytes occupied by a buffer in CH_UTF16 format
+the result includes the null termination
+**/
+size_t utf16_len(const void *buf)
+{
+       size_t len;
+
+       for (len = 0; SVAL(buf,len); len += 2) ;
+
+       return len + 2;
+}
+
+/**
+return the number of bytes occupied by a buffer in CH_UTF16 format
+the result includes the null termination
+limited by 'n' bytes
+**/
+size_t utf16_len_n(const void *src, size_t n)
+{
+       size_t len;
+
+       for (len = 0; (len+2 < n) && SVAL(src, len); len += 2) ;
+
+       if (len+2 <= n) {
+               len += 2;
+       }
+
+       return len;
+}
+

Modified: trunk/source/libsmb/trusts_util.c
===================================================================
--- trunk/source/libsmb/trusts_util.c   2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/libsmb/trusts_util.c   2006-05-04 13:04:22 UTC (rev 15432)
@@ -95,7 +95,7 @@
        
        if (NT_STATUS_IS_OK(nt_status)) {
                DEBUG(3,("%s : trust_pw_change_and_store_it: Changed 
password.\n", 
-                        timestring(False)));
+                        current_timestring(False)));
                /*
                 * Return the result of trying to write the new password
                 * back into the trust account file.

Modified: trunk/source/torture/rpctorture.c
===================================================================
--- trunk/source/torture/rpctorture.c   2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/torture/rpctorture.c   2006-05-04 13:04:22 UTC (rev 15432)
@@ -493,7 +493,7 @@
        strupper_m(global_myname);
        fstrcpy(cli_info.myhostname, global_myname);
 
-       DEBUG(3,("%s client started (version 
%s)\n",timestring(False),SAMBA_VERSION_STRING));
+       DEBUG(3,("%s client started (version 
%s)\n",current_timestring(False),SAMBA_VERSION_STRING));
 
        if (*smb_cli->domain == 0)
        {

Modified: trunk/source/web/swat.c
===================================================================
--- trunk/source/web/swat.c     2006-05-04 12:57:27 UTC (rev 15431)
+++ trunk/source/web/swat.c     2006-05-04 13:04:22 UTC (rev 15432)
@@ -432,7 +432,7 @@
 {
        fprintf(f, "# Samba config file created using SWAT\n");
        fprintf(f, "# from %s (%s)\n", cgi_remote_host(), cgi_remote_addr());
-       fprintf(f, "# Date: %s\n\n", timestring(False));
+       fprintf(f, "# Date: %s\n\n", current_timestring(False));
        
        lp_dump(f, show_defaults, iNumNonAutoPrintServices);
 }

Reply via email to