/* find: print lines that match pattern from 1st argument */ main(int argc, char *argv[]) { char pattern[MAXLINE]; int c, except = 0, number = 0; FILE *fp; void fpat(FILE *fp, char *fname, char *pattern, int except, int number); while (--argc > 0 && (*++argv)[0] == '-') while (c = *++argv[0]) switch (c) { case 'x': except = 1; break; case 'n': number = 1; break; default: printf("find: illegal option %c\n", c); argc = 0; break; } if (argc >= 1) strcpy(pattern, *argv); else { printf("Useage: find [-x] [-n] pattern [file ...]\n"); exit(1); } if (argc == 1) fpat(stdin, "", pattern, except, number); else while (--argc > 0) if ((fp = fopen(*++argv, "r")) == NULL) { fprintf(stderr, "find: can't open %s\n", *argv); exit(1); } else { fpat(fp, *argv, pattern, except, number); fclose(fp); } return 0; }
int main(int argc, char *argv[]){ char *arg; char pattern[MAXLINE]; int number, except; FILE *fp; while(--argc > 0 && (*++argv)[0] == '-'){ arg = *argv; while(*++arg != '\0'){ switch (*arg) { case 'n': number = 1; break; case 'x': except = 1; break; } } } if(argc > 0){ strcpy(pattern, *argv); }else{ printf("Usage: find [-xn] pattern [file...]\n"); exit(1); } if(argc == 1){ fpat(stdin, "", pattern, except, number); }else{ while(--argc > 0){ fp = fopen(*++argv, "r"); if(fp == NULL){ fprintf(stderr, "can not open file %s\n", *argv); exit(1); }else{ fpat(fp, *argv, pattern, except, number); fclose(fp); } } } return 0; }
void TZGNCore::initialize(const Locale& locale, UErrorCode& status) { if (U_FAILURE(status)) { return; } // TimeZoneNames fTimeZoneNames = TimeZoneNames::createInstance(locale, status); if (U_FAILURE(status)) { return; } // Initialize format patterns UnicodeString rpat(TRUE, gDefRegionPattern, -1); UnicodeString fpat(TRUE, gDefFallbackPattern, -1); UErrorCode tmpsts = U_ZERO_ERROR; // OK with fallback warning.. UResourceBundle *zoneStrings = ures_open(U_ICUDATA_ZONE, locale.getName(), &tmpsts); zoneStrings = ures_getByKeyWithFallback(zoneStrings, gZoneStrings, zoneStrings, &tmpsts); if (U_SUCCESS(tmpsts)) { const UChar *regionPattern = ures_getStringByKeyWithFallback(zoneStrings, gRegionFormatTag, NULL, &tmpsts); if (U_SUCCESS(tmpsts) && u_strlen(regionPattern) > 0) { rpat.setTo(regionPattern, -1); } tmpsts = U_ZERO_ERROR; const UChar *fallbackPattern = ures_getStringByKeyWithFallback(zoneStrings, gFallbackFormatTag, NULL, &tmpsts); if (U_SUCCESS(tmpsts) && u_strlen(fallbackPattern) > 0) { fpat.setTo(fallbackPattern, -1); } } ures_close(zoneStrings); fRegionFormat.applyPatternMinMaxArguments(rpat, 1, 1, status); fFallbackFormat.applyPatternMinMaxArguments(fpat, 2, 2, status); if (U_FAILURE(status)) { cleanup(); return; } // locale display names fLocaleDisplayNames = LocaleDisplayNames::createInstance(locale); // hash table for names - no key/value deleters fLocationNamesMap = uhash_open(uhash_hashUChars, uhash_compareUChars, NULL, &status); if (U_FAILURE(status)) { cleanup(); return; } fPartialLocationNamesMap = uhash_open(hashPartialLocationKey, comparePartialLocationKey, NULL, &status); if (U_FAILURE(status)) { cleanup(); return; } uhash_setKeyDeleter(fPartialLocationNamesMap, uprv_free); // no value deleter // target region const char* region = fLocale.getCountry(); int32_t regionLen = uprv_strlen(region); if (regionLen == 0) { char loc[ULOC_FULLNAME_CAPACITY]; uloc_addLikelySubtags(fLocale.getName(), loc, sizeof(loc), &status); regionLen = uloc_getCountry(loc, fTargetRegion, sizeof(fTargetRegion), &status); if (U_SUCCESS(status)) { fTargetRegion[regionLen] = 0; } else { cleanup(); return; } } else if (regionLen < (int32_t)sizeof(fTargetRegion)) { uprv_strcpy(fTargetRegion, region); } else { fTargetRegion[0] = 0; } // preload generic names for the default zone TimeZone *tz = TimeZone::createDefault(); const UChar *tzID = ZoneMeta::getCanonicalCLDRID(*tz); if (tzID != NULL) { loadStrings(UnicodeString(TRUE, tzID, -1)); } delete tz; }
declare_mem_procs(mem_mapped2_copy_mono, mem_mapped2_copy_color, mem_mapped2_fill_rectangle); /* The device descriptor. */ const gx_device_memory far_data mem_mapped2_device = mem_device("image2", 2, 0, mem_mapped_map_rgb_color, mem_mapped_map_color_rgb, mem_mapped2_copy_mono, mem_mapped2_copy_color, mem_mapped2_fill_rectangle, mem_gray_strip_copy_rop); /* Convert x coordinate to byte offset in scan line. */ #undef x_to_byte #define x_to_byte(x) ((x) >> 2) /* Define the 2-bit fill patterns. */ static const mono_fill_chunk tile_patterns[4] = { fpat(0x00), fpat(0x55), fpat(0xaa), fpat(0xff) }; /* Fill a rectangle with a color. */ private int mem_mapped2_fill_rectangle(gx_device *dev, int x, int y, int w, int h, gx_color_index color) { fit_fill(dev, x, y, w, h); bits_fill_rectangle(scan_line_base(mdev, y), x << 1, mdev->raster, tile_patterns[color], w << 1, h); return 0; } /* Copy a bitmap. */ private int mem_mapped2_copy_mono(gx_device *dev,