Changeset 678db5 in git
- Timestamp:
- Oct 13, 2008, 7:17:06 PM (16 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 47fa19583c6aac5d7fbb8a1d45f75499e841eafd
- Parents:
- 557ebdfb9713d33ae4d3f50db45c8018a9c4c377
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/febase.cc
r557ebd r678db5 2 2 * Computer Algebra System SINGULAR * 3 3 ****************************************/ 4 /* $Id: febase.cc,v 1. 19 2008-10-13 16:17:14Singular Exp $ */4 /* $Id: febase.cc,v 1.20 2008-10-13 17:17:06 Singular Exp $ */ 5 5 /* 6 6 * ABSTRACT: i/o system … … 822 822 long more; 823 823 va_start(ap, fmt); 824 if ((more=feBufferStart-feBuffer+strlen(fmt)+100)>feBufferLength) 825 { 826 more = ((more + (4*1024-1))/(4*1024))*(4*1024); 827 int l=s-feBuffer; 828 feBuffer=(char *)omReallocSize((ADDRESS)feBuffer,feBufferLength, 829 more); 830 omMarkAsStaticAddr(feBuffer); 831 feBufferLength=more; 832 s=feBuffer+l; 824 if (*fmt!='\0') 825 { 826 if ((more=feBufferStart-feBuffer+strlen(fmt)+100)>feBufferLength) 827 { 828 more = ((more + (4*1024-1))/(4*1024))*(4*1024); 829 int l=s-feBuffer; 830 if (more!=feBufferLength) 831 { 832 feBuffer=(char *)omReallocSize((ADDRESS)feBuffer,feBufferLength, 833 more); 834 omMarkAsStaticAddr(feBuffer); 835 feBufferLength=more; 836 s=feBuffer+l; 833 837 #ifndef BSD_SPRINTF 834 feBufferStart=s; 835 #endif 836 } 838 feBufferStart=s; 839 #endif 840 } 841 } 837 842 #ifdef BSD_SPRINTF 838 vsprintf(s, fmt, ap);839 while (*s!='\0') s++;840 feBufferStart =s;843 vsprintf(s, fmt, ap); 844 while (*s!='\0') s++; 845 feBufferStart =s; 841 846 #else 842 847 #ifdef HAVE_VSNPRINTF 843 vs = vsnprintf(s, feBufferLength - (feBufferStart - feBuffer), fmt, ap);844 if (vs == -1)845 {846 assume(0);847 feBufferStart = feBuffer + feBufferLength -1;848 }849 else850 {851 feBufferStart += vs;852 }848 vs = vsnprintf(s, feBufferLength - (feBufferStart - feBuffer), fmt, ap); 849 if (vs == -1) 850 { 851 assume(0); 852 feBufferStart = feBuffer + feBufferLength -1; 853 } 854 else 855 { 856 feBufferStart += vs; 857 } 853 858 #else 854 feBufferStart += vsprintf(s, fmt, ap); 855 #endif 856 #endif 857 omCheckAddrSize(feBuffer, feBufferLength); 859 feBufferStart += vsprintf(s, fmt, ap); 860 #endif 861 #endif 862 omCheckAddrSize(feBuffer, feBufferLength); 863 } 858 864 va_end(ap); 859 865 return feBuffer;
Note: See TracChangeset
for help on using the changeset viewer.