using System.Collections;
using System.Text;
+#pragma warning disable 3021
+
namespace Mono {
#if MONO_DATACONVERTER_PUBLIC
// f float
// d double
// b byte
+ // c 1-byte signed character
+ // C 1-byte unsigned character
// z8 string encoded as UTF8 with 1-byte null terminator
// z6 string encoded as UTF16 with 2-byte null terminator
// z7 string encoded as UTF7 with 1-byte null terminator
default:
throw new ArgumentException ("Invalid format for $ specifier", "description");
}
- b.align = 4;
+ if (b.align == -1)
+ b.align = 4;
b.Add (e.GetBytes (Convert.ToString (oarg)));
if (add_null)
b.Add (new byte [n]);
idx = Align (idx, size);
align = false;
}
- if (idx + size >= buffer.Length){
+ if (idx + size > buffer.Length){
idx = buffer.Length;
return false;
}
case '1': case '2': case '3': case '4': case '5':
case '6': case '7': case '8': case '9':
repeat = ((short) description [i]) - ((short) '0');
+ save = i + 1;
break;
case '*':
if (count == -1)
throw new ArgumentException ("invalid size specification");
i = j;
+ save = i + 1;
repeat = count;
break;