Bool XParseFontName (XFontNameString fontNameString, XFontName *fontName, unsigned int *fontNameAttributes) { char *name = fontNameString; XFontName temp; unsigned int attributes = 0; #define GetString(field,bit)\ if (!(name = extractStringField \ (name, temp.field, sizeof (temp.field),\ &attributes, bit))) \ return False; #define GetUnsigned(field,bit)\ if (!(name = extractUnsignedField \ (name, &temp.field, \ &attributes, bit))) \ return False; GetString (Registry, FontNameRegistry) GetString (Foundry, FontNameFoundry) GetString (FamilyName, FontNameFamilyName) GetString (WeightName, FontNameWeightName) GetString (Slant, FontNameSlant) GetString (SetwidthName, FontNameSetwidthName) GetString (AddStyleName, FontNameAddStyleName) GetUnsigned (PixelSize, FontNamePixelSize) GetUnsigned (PointSize, FontNamePointSize) GetUnsigned (ResolutionX, FontNameResolutionX) GetUnsigned (ResolutionY, FontNameResolutionY) GetString (Spacing, FontNameSpacing) GetUnsigned (AverageWidth, FontNameAverageWidth) GetString (CharSetRegistry, FontNameCharSetRegistry) if (!*name) { temp.CharSetEncoding[0] = '\0'; attributes |= FontNameCharSetEncoding; } else { GetString (CharSetEncoding, FontNameCharSetEncoding) } *fontName = temp; *fontNameAttributes = attributes; return True; }
YSRESULT YsWavFile::LoadWav(const char fn[]) { FILE *fp; printf("Loading %s\n",fn); fp=fopen(fn,"rb"); if(fp!=NULL) { unsigned char buf[256]; unsigned int l; unsigned int fSize,hdrSize,dataSize; // Wave Header unsigned short wFormatTag,nChannels; unsigned nSamplesPerSec,nAvgBytesPerSec; unsigned short nBlockAlign,wBitsPerSample,cbSize; if(fread(buf,1,4,fp)!=4) { printf("Error in reading RIFF.\n"); goto ERREND; } if(strncmp((char *)buf,"RIFF",4)!=0) { printf("Warning: RIFF not found.\n"); } if(fread(buf,1,4,fp)!=4) { printf("Error in reading file size.\n"); goto ERREND; } fSize=GetUnsigned(buf); printf("File Size=%d\n",fSize+8); if(fread(buf,1,8,fp)!=8) { printf("Error in reading WAVEfmt.\n"); goto ERREND; } if(strncmp((char *)buf,"WAVEfmt",7)!=0) { printf("Warning: WAVEfmt not found\n"); } if(fread(buf,1,4,fp)!=4) { printf("Error in reading header size.\n"); goto ERREND; } hdrSize=GetUnsigned(buf); printf("Header Size=%d\n",hdrSize); // WORD wFormatTag; // WORD nChannels; // DWORD nSamplesPerSec; // DWORD nAvgBytesPerSec; // WORD nBlockAlign; // WORD wBitsPerSample; // WORD cbSize; if(fread(buf,1,hdrSize,fp)!=hdrSize) { printf("Error in reading header.\n"); goto ERREND; } wFormatTag=GetUnsignedShort(buf); nChannels=GetUnsignedShort(buf+2); nSamplesPerSec=GetUnsigned(buf+4); nAvgBytesPerSec=GetUnsigned(buf+8); nBlockAlign=GetUnsignedShort(buf+12); wBitsPerSample=(hdrSize>=16 ? GetUnsignedShort(buf+14) : 0); cbSize=(hdrSize>=18 ? GetUnsignedShort(buf+16) : 0); printf("wFormatTag=%d\n",wFormatTag); printf("nChannels=%d\n",nChannels); printf("nSamplesPerSec=%d\n",nSamplesPerSec); printf("nAvgBytesPerSec=%d\n",nAvgBytesPerSec); printf("nBlockAlign=%d\n",nBlockAlign); printf("wBitsPerSample=%d\n",wBitsPerSample); printf("cbSize=%d\n",cbSize); while(1) { if(fread(buf,1,4,fp)!=4) { printf("Error while waiting for data.\n"); goto ERREND; } if((buf[0]=='d' || buf[0]=='D') && (buf[1]=='a' || buf[1]=='A') && (buf[2]=='t' || buf[2]=='T') && (buf[3]=='a' || buf[3]=='A')) { break; } else { printf("Skipping %c%c%c%c\n",buf[0],buf[1],buf[2],buf[3]); if(fread(buf,1,4,fp)!=4) { printf("Error while skipping unknown block.\n"); goto ERREND; } l=GetUnsigned(buf); if(fread(buf,1,l,fp)!=l) { printf("Error while skipping unknown block.\n"); goto ERREND; } } } if(fread(buf,1,4,fp)!=4) { printf("Error in reading data size.\n"); goto ERREND; } dataSize=GetUnsigned(buf); printf("Data Size=%d (0x%x)\n",dataSize,dataSize); dat=new unsigned char [dataSize]; if((l=fread(dat,1,dataSize,fp))!=dataSize) { printf("Warning: File ended before reading all data.\n"); printf(" %d (0x%x) bytes have been read\n",l,l); } stereo=(nChannels==2 ? YSTRUE : YSFALSE); bit=wBitsPerSample; sizeInBytes=dataSize; rate=nSamplesPerSec; if(wBitsPerSample==8) { isSigned=YSFALSE; } else { isSigned=YSTRUE; } fclose(fp); return YSOK; } return YSERR; ERREND: printf("Err!\n"); if(fp!=NULL) { fclose(fp); } return YSERR; }
std::size_t GetAllDocumentsOptions::Limit(std::size_t defaultValue) const { if (!limit_.is_initialized()) { limit_ = GetUnsigned("limit", defaultValue); } return limit_.get(); }
std::size_t GetAllDocumentsOptions::Skip() const { if (!skip_.is_initialized()) { skip_ = GetUnsigned("skip", 0); } return skip_.get(); }