src/java.base/share/native/libjli/wildcard.c
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File jdk Sdiff src/java.base/share/native/libjli

src/java.base/share/native/libjli/wildcard.c

Print this page
rev 11654 : imported patch libjli


 257 
 258 static void
 259 FileList_ensureCapacity(FileList fl, int capacity)
 260 {
 261     if (fl->capacity < capacity) {
 262         while (fl->capacity < capacity)
 263             fl->capacity *= 2;
 264         fl->files = JLI_MemRealloc(fl->files,
 265                                fl->capacity * sizeof(fl->files[0]));
 266     }
 267 }
 268 
 269 static void
 270 FileList_add(FileList fl, char *file)
 271 {
 272     FileList_ensureCapacity(fl, fl->size+1);
 273     fl->files[fl->size++] = file;
 274 }
 275 
 276 static void
 277 FileList_addSubstring(FileList fl, const char *beg, int len)
 278 {
 279     char *filename = (char *) JLI_MemAlloc(len+1);
 280     memcpy(filename, beg, len);
 281     filename[len] = '\0';
 282     FileList_ensureCapacity(fl, fl->size+1);
 283     fl->files[fl->size++] = filename;
 284 }
 285 
 286 static char *
 287 FileList_join(FileList fl, char sep)
 288 {
 289     int i;
 290     int size;
 291     char *path;
 292     char *p;
 293     for (i = 0, size = 1; i < fl->size; i++)
 294         size += (int)JLI_StrLen(fl->files[i]) + 1;
 295 
 296     path = JLI_MemAlloc(size);
 297 
 298     for (i = 0, p = path; i < fl->size; i++) {
 299         int len = (int)JLI_StrLen(fl->files[i]);
 300         if (i > 0) *p++ = sep;
 301         memcpy(p, fl->files[i], len);
 302         p += len;
 303     }
 304     *p = '\0';
 305 
 306     return path;
 307 }
 308 
 309 static FileList
 310 FileList_split(const char *path, char sep)
 311 {
 312     const char *p, *q;
 313     int len = (int)JLI_StrLen(path);
 314     int count;
 315     FileList fl;
 316     for (count = 1, p = path; p < path + len; p++)
 317         count += (*p == sep);
 318     fl = FileList_new(count);
 319     for (p = path;;) {
 320         for (q = p; q <= path + len; q++) {
 321             if (*q == sep || *q == '\0') {
 322                 FileList_addSubstring(fl, p, q - p);
 323                 if (*q == '\0')
 324                     return fl;
 325                 p = q + 1;
 326             }
 327         }
 328     }
 329 }
 330 
 331 static int
 332 isJarFileName(const char *filename)
 333 {




 257 
 258 static void
 259 FileList_ensureCapacity(FileList fl, int capacity)
 260 {
 261     if (fl->capacity < capacity) {
 262         while (fl->capacity < capacity)
 263             fl->capacity *= 2;
 264         fl->files = JLI_MemRealloc(fl->files,
 265                                fl->capacity * sizeof(fl->files[0]));
 266     }
 267 }
 268 
 269 static void
 270 FileList_add(FileList fl, char *file)
 271 {
 272     FileList_ensureCapacity(fl, fl->size+1);
 273     fl->files[fl->size++] = file;
 274 }
 275 
 276 static void
 277 FileList_addSubstring(FileList fl, const char *beg, size_t len)
 278 {
 279     char *filename = (char *) JLI_MemAlloc(len+1);
 280     memcpy(filename, beg, len);
 281     filename[len] = '\0';
 282     FileList_ensureCapacity(fl, fl->size+1);
 283     fl->files[fl->size++] = filename;
 284 }
 285 
 286 static char *
 287 FileList_join(FileList fl, char sep)
 288 {
 289     int i;
 290     int size;
 291     char *path;
 292     char *p;
 293     for (i = 0, size = 1; i < fl->size; i++)
 294         size += (int)JLI_StrLen(fl->files[i]) + 1;
 295 
 296     path = JLI_MemAlloc(size);
 297 
 298     for (i = 0, p = path; i < fl->size; i++) {
 299         int len = (int)JLI_StrLen(fl->files[i]);
 300         if (i > 0) *p++ = sep;
 301         memcpy(p, fl->files[i], len);
 302         p += len;
 303     }
 304     *p = '\0';
 305 
 306     return path;
 307 }
 308 
 309 static FileList
 310 FileList_split(const char *path, char sep)
 311 {
 312     const char *p, *q;
 313     size_t len = JLI_StrLen(path);
 314     int count;
 315     FileList fl;
 316     for (count = 1, p = path; p < path + len; p++)
 317         count += (*p == sep);
 318     fl = FileList_new(count);
 319     for (p = path;;) {
 320         for (q = p; q <= path + len; q++) {
 321             if (*q == sep || *q == '\0') {
 322                 FileList_addSubstring(fl, p, q - p);
 323                 if (*q == '\0')
 324                     return fl;
 325                 p = q + 1;
 326             }
 327         }
 328     }
 329 }
 330 
 331 static int
 332 isJarFileName(const char *filename)
 333 {


src/java.base/share/native/libjli/wildcard.c
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File