Subversion Repositories SvarDOS

Rev

Rev 623 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 623 Rev 814
Line 50... Line 50...
50
  FILE *fd;
50
  FILE *fd;
51
  char buff[128];
51
  char buff[128];
52
  unsigned short buff16[2];
52
  unsigned short buff16[2];
53
  unsigned short i;
53
  unsigned short i;
Line 54... Line 54...
54
 
54
 
-
 
55
  if (lang == NULL) return(-1);
Line 55... Line 56...
55
  if ((lang == NULL) || (nlspath == NULL)) return(-1);
56
  if (nlspath == NULL) nlspath = ""; /* nlspath can be NULL, treat is as empty */
56
 
57
 
Line -... Line 58...
-
 
58
  langid = *((unsigned short *)lang);
-
 
59
  langid &= 0xDFDF; /* make sure lang is upcase */
-
 
60
 
-
 
61
  TRYNEXTPATH:
-
 
62
 
57
  langid = *((unsigned short *)lang);
63
  /* skip any leading ';' separators */
58
  langid &= 0xDFDF; /* make sure lang is upcase */
64
  while (*nlspath == ';') nlspath++;
-
 
65
 
Line 59... Line 66...
59
 
66
  /* copy nlspath to buff and remember len */
60
  /* copy nlspath to buff and remember len */
67
  for (i = 0; (nlspath[i] != 0) && (nlspath[i] != ';'); i++) buff[i] = nlspath[i];
Line 61... Line 68...
61
  for (i = 0; nlspath[i] != 0; i++) buff[i] = nlspath[i];
68
  nlspath += i;
62
 
69
 
63
  /* */
70
  /* ignore the trailing backslash (I add one myself) */
Line 64... Line 71...
64
  if ((i > 0) && (buff[i - 1] == '\\')) i--;
71
  if ((i > 0) && (buff[i - 1] == '\\')) i--;
-
 
72
 
65
 
73
  buff[i++] = '\\';
-
 
74
  strcpy(buff + i, progname);
-
 
75
  strcat(buff + i, ".lng");
Line 66... Line 76...
66
  buff[i++] = '\\';
76
 
67
  strcpy(buff + i, progname);
77
  fd = fopen(buff, "rb");
68
  strcat(buff + i, ".lng");
78
  if (fd == NULL) { /* failed to open file - either abort or try next path */
69
 
79
    if (*nlspath == 0) return(-2);