Fossil

Check-in [427e2575]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Merge the mkbuiltin.c fix from trunk.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | forum-v2
Files: files | file ages | folders
SHA3-256: 427e2575328420936fcbb553e114ee1dd8cf7c8d18b9b57aa3c19f07a6de25c8
User & Date: drh 2018-08-06 21:20:35
Context
2018-08-07
00:22
For non-digest subscribers, alerts for new forum posts are now in separate emails with each email having a subject which is the title of the forum thread, and with appropriate Message-Id and In-Reply-To header fields so that email clients can string together the email thread. Digest subscribes still get just the synopsis. check-in: 4d659173 user: drh tags: forum-v2
2018-08-06
21:20
Merge the mkbuiltin.c fix from trunk. check-in: 427e2575 user: drh tags: forum-v2
21:19
Fix the mkbuiltin.c code generator so that it tolerates Windows-style backslash path separators on its arguments. This fixes the windows build that was busted by check-in [774bdc83556442c5]. check-in: 030bf200 user: drh tags: trunk
20:47
Boo. All day I have been checking in changes to the failed-fix branch when I should have been putting them on the forum-v2 branch. This is a cherry-pick merge that moves all of the changes from today from failed-fix over to forum-v2 in one go. The "email" command is renamed to "alert" and is revised for a better interface. Events that are waiting on moderator approval are not shown to non-moderator users. check-in: 3c532ec5 user: drh tags: forum-v2
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/mkbuiltin.c.

58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
...
145
146
147
148
149
150
151
152
153
154
155




156
157
158
159
160
161
162
163
164
}

/*
** There is an instance of the following for each file translated.
*/
typedef struct Resource Resource;
struct Resource {
  const char *zName;
  int nByte;
  int idx;
};

/*
** Compare two Resource objects for sorting purposes.  They sort
** in zName order so that Fossil can search for resources using
................................................................................
  printf("struct BuiltinFileTable {\n");
  printf("  const char *zName;\n");
  printf("  const unsigned char *pData;\n");
  printf("  int nByte;\n");
  printf("};\n");
  printf("static const BuiltinFileTable aBuiltinFiles[] = {\n");
  for(i=0; i<nRes; i++){
    const char *z = aRes[i].zName;
    if( strlen(z)>=nPrefix ) z += nPrefix;
    while( z[0]=='.' || z[0]=='/' ){ z++; }
    aRes[i].zName = z;




  }
  qsort(aRes, nRes, sizeof(aRes[0]), compareResource);
  for(i=0; i<nRes; i++){
    printf("  { \"%s\", bidata%d, %d },\n",
           aRes[i].zName, aRes[i].idx, aRes[i].nByte);
  }
  printf("};\n");
  return nErr;
}







|







 







|

|

>
>
>
>









58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
...
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
}

/*
** There is an instance of the following for each file translated.
*/
typedef struct Resource Resource;
struct Resource {
  char *zName;
  int nByte;
  int idx;
};

/*
** Compare two Resource objects for sorting purposes.  They sort
** in zName order so that Fossil can search for resources using
................................................................................
  printf("struct BuiltinFileTable {\n");
  printf("  const char *zName;\n");
  printf("  const unsigned char *pData;\n");
  printf("  int nByte;\n");
  printf("};\n");
  printf("static const BuiltinFileTable aBuiltinFiles[] = {\n");
  for(i=0; i<nRes; i++){
    char *z = aRes[i].zName;
    if( strlen(z)>=nPrefix ) z += nPrefix;
    while( z[0]=='.' || z[0]=='/' || z[0]=='\\' ){ z++; }
    aRes[i].zName = z;
    while( z[0] ){
      if( z[0]=='\\' ) z[0] = '/';
      z++;
    }
  }
  qsort(aRes, nRes, sizeof(aRes[0]), compareResource);
  for(i=0; i<nRes; i++){
    printf("  { \"%s\", bidata%d, %d },\n",
           aRes[i].zName, aRes[i].idx, aRes[i].nByte);
  }
  printf("};\n");
  return nErr;
}