Proper fix for #6898 - Samba duplicates file content on appending. Pointed out by...
[ira/wip.git] / source3 / rpc_parse / parse_misc.c
index 8b4135a1e89a83cd398924f1f7af6648024a3d5f..c000923b9e13f1aa3b89944e152bee695674bd37 100644 (file)
@@ -58,86 +58,6 @@ bool smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth)
        return True;
 }
 
-/*******************************************************************
-********************************************************************/
-
-bool smb_io_system_time(const char *desc, prs_struct *ps, int depth, SYSTEMTIME *systime)
-{
-       if(!prs_uint16("year", ps, depth, &systime->year))
-               return False;
-       if(!prs_uint16("month", ps, depth, &systime->month))
-               return False;
-       if(!prs_uint16("dayofweek", ps, depth, &systime->dayofweek))
-               return False;
-       if(!prs_uint16("day", ps, depth, &systime->day))
-               return False;
-       if(!prs_uint16("hour", ps, depth, &systime->hour))
-               return False;
-       if(!prs_uint16("minute", ps, depth, &systime->minute))
-               return False;
-       if(!prs_uint16("second", ps, depth, &systime->second))
-               return False;
-       if(!prs_uint16("milliseconds", ps, depth, &systime->milliseconds))
-               return False;
-
-       return True;
-}
-
-/*******************************************************************
-********************************************************************/
-
-bool make_systemtime(SYSTEMTIME *systime, struct tm *unixtime)
-{
-       systime->year=unixtime->tm_year+1900;
-       systime->month=unixtime->tm_mon+1;
-       systime->dayofweek=unixtime->tm_wday;
-       systime->day=unixtime->tm_mday;
-       systime->hour=unixtime->tm_hour;
-       systime->minute=unixtime->tm_min;
-       systime->second=unixtime->tm_sec;
-       systime->milliseconds=0;
-
-       return True;
-}
-
-/*******************************************************************
- Reads or writes a DOM_SID structure.
-********************************************************************/
-
-bool smb_io_dom_sid(const char *desc, DOM_SID *sid, prs_struct *ps, int depth)
-{
-       int i;
-
-       if (sid == NULL)
-               return False;
-
-       prs_debug(ps, depth, desc, "smb_io_dom_sid");
-       depth++;
-
-       if(!prs_uint8 ("sid_rev_num", ps, depth, &sid->sid_rev_num))
-               return False;
-
-       if(!prs_uint8 ("num_auths  ", ps, depth, (uint8 *)&sid->num_auths))
-               return False;
-
-       for (i = 0; i < 6; i++)
-       {
-               fstring tmp;
-               slprintf(tmp, sizeof(tmp) - 1, "id_auth[%d] ", i);
-               if(!prs_uint8 (tmp, ps, depth, &sid->id_auth[i]))
-                       return False;
-       }
-
-       /* oops! XXXX should really issue a warning here... */
-       if (sid->num_auths > MAXSUBAUTHS)
-               sid->num_auths = MAXSUBAUTHS;
-
-       if(!prs_uint32s(False, "sub_auths ", ps, depth, sid->sub_auths, sid->num_auths))
-               return False;
-
-       return True;
-}
-
 /*******************************************************************
  Reads or writes a struct GUID
 ********************************************************************/
@@ -165,78 +85,3 @@ bool smb_io_uuid(const char *desc, struct GUID *uuid,
 
        return True;
 }
-
-/*******************************************************************
- Inits a UNISTR structure.
-********************************************************************/
-
-void init_unistr(UNISTR *str, const char *buf)
-{
-       size_t len;
-
-       if (buf == NULL) {
-               str->buffer = NULL;
-               return;
-       }
-
-       len = rpcstr_push_talloc(talloc_tos(), &str->buffer, buf);
-       if (len == (size_t)-1) {
-               str->buffer = NULL;
-       }
-}
-
-/*******************************************************************
- Inits a UNISTR2 structure.
-********************************************************************/
-
-void init_unistr2(UNISTR2 *str, const char *buf, enum unistr2_term_codes flags)
-{
-       size_t len = 0;
-       uint32 num_chars = 0;
-
-       if (buf) {
-               /* We always null terminate the copy. */
-               len = strlen(buf) + 1;
-               if ( flags == UNI_STR_DBLTERMINATE )
-                       len++;
-       }
-
-       if (buf == NULL || len == 0) {
-               /* no buffer -- nothing to do */
-               str->uni_max_len = 0;
-               str->offset = 0;
-               str->uni_str_len = 0;
-
-               return;
-       }
-       
-
-       str->buffer = TALLOC_ZERO_ARRAY(talloc_tos(), uint16, len);
-       if (str->buffer == NULL) {
-               smb_panic("init_unistr2: malloc fail");
-               return;
-       }
-
-       /* Ensure len is the length in *bytes* */
-       len *= sizeof(uint16);
-
-       /*
-        * The UNISTR2 must be initialized !!!
-        * jfm, 7/7/2001.
-        */
-       if (buf) {
-               rpcstr_push((char *)str->buffer, buf, len, STR_TERMINATE);
-               num_chars = strlen_w(str->buffer);
-               if (flags == UNI_STR_TERMINATE || flags == UNI_MAXLEN_TERMINATE) {
-                       num_chars++;
-               }
-               if ( flags == UNI_STR_DBLTERMINATE )
-                       num_chars += 2;
-       }
-
-       str->uni_max_len = num_chars;
-       str->offset = 0;
-       str->uni_str_len = num_chars;
-       if ( num_chars && ((flags == UNI_MAXLEN_TERMINATE) || (flags == UNI_BROKEN_NON_NULL)) )
-               str->uni_max_len++;
-}